Dúvida comando SQL [RESOLVIDO]

10 respostas
Vander_Carlos

No exemplo do livro que eu tenho ele insere os dados no BD dessa maneira:

Qual a diferença entre desses dois ?

[]'s

10 Respostas

drsmachado

No primeiro, você está pegando o valor de variáveis para compor a String.
Desta forma, supondo que a variável nome seja igual a “João”, endereco = “Rua das esquinas, 01”, então, um registro (tupla) no banco de dados será salvo com a coluna nome recebendo o valor João e a coluna endereco recebendo Rua das esquinas, 01.

No segundo caso, você está dizendo que a coluna nome terá um registro com valor nome, a coluna endereco terá o valor endereco.

Entendeu?

Vander_Carlos

Entendi… Vlw :smiley:

Agora em questão de desempenho muda alguma coisa ?

rsantik

Não muda nada, para o banco. Ele irá fazer o INSERT da mesma forma para o dois.

Já na sua aplicação, somente irá ter um processamento a mais para ler os valores contidos nas variáveis.

douglascst90

no primeiro caso que voce mostrou ele inseri no banco os valor de cara variaveis no caso como o nosso amigo em cima disse, o nome, bairro, endereço etc… são variaveis que recebe os valor, no caso elas sao dinamicas.

No outro caso ja chamamos de valores estaticos, que voce mesmo esta atribuido os valores a eles, no caso para voce entender melhor altere a linha String comandoSQL = ("INSERT INTO registros (nome, endereco, bairro, cidade, estado, cep, telefone) VALUES ('O QUE VOCE QUISER' , 'O QUE VOCE QUISE', 'bairro', 'cidade', 'estado', 'cep', 'telefone')");

onde eu escrevi “O QUE VOCE QUISER” voce pode por o valor desejado.

Vander_Carlos

Hmm, obrigado aos dois :smiley:

rsantik

Mas assim, no mercado de trabalho real, são poucos os casos em que vc vai atribuir um valor diretamente na instrução SQL, geralmente isso é lido de alguma variável, Array, List, ArrayList e etc…

Imagine lendo informações de um formulário, vai ter que passar por variáveis, para serem lidos e serem inseridas no BD

Vander_Carlos

Entendo…

Valeu pelas dicas.

drsmachado

rsantik:
Mas assim, no mercado de trabalho real, são poucos os casos em que vc vai atribuir um valor diretamente na instrução SQL, geralmente isso é lido de alguma variável, Array, List, ArrayList e etc…

Imagine lendo informações de um formulário, vai ter que passar por variáveis, para serem lidos e serem inseridas no BD

Isso é bem relativo.
Claro, se considerarmso a média, ferramentas de ORM e o PreparedStatement são sempre maioria.
Agora, existem empresas que fazem esse processo “na mão” mesmo, em específico, isso é muito utilizando em áreas de quality assurance de softwares (onde o ambiente é alimentado somente para cenários de testes).

Porém, saber como a instrução é executada é sempre bom, pois pode auxiliar na construção de queries mais dinâmicas e menos custosas, seja para a performance do aplicativo ou do banco de dados.

De qualquer forma, o ideal é que ele comrpeenda por que uma variável é lida quando a string é concatenada e por que não é feito isso quando o nome da variável está inserido na string, o que, aparentemente, causou a dúvida.

rsantik

drsmachado:
rsantik:
Mas assim, no mercado de trabalho real, são poucos os casos em que vc vai atribuir um valor diretamente na instrução SQL, geralmente isso é lido de alguma variável, Array, List, ArrayList e etc…

Imagine lendo informações de um formulário, vai ter que passar por variáveis, para serem lidos e serem inseridas no BD

Isso é bem relativo.
Claro, se considerarmso a média, ferramentas de ORM e o PreparedStatement são sempre maioria.
Agora, existem empresas que fazem esse processo “na mão” mesmo, em específico, isso é muito utilizando em áreas de quality assurance de softwares (onde o ambiente é alimentado somente para cenários de testes).

Porém, saber como a instrução é executada é sempre bom, pois pode auxiliar na construção de queries mais dinâmicas e menos custosas, seja para a performance do aplicativo ou do banco de dados.

De qualquer forma, o ideal é que ele comrpeenda por que uma variável é lida quando a string é concatenada e por que não é feito isso quando o nome da variável está inserido na string, o que, aparentemente, causou a dúvida.

Perfeito sua colocação.
Acredito que já tenha respondido nos post acima a dúvida do garoto.

Abs
Rodrigo

Vander_Carlos

rsantik:
drsmachado:
rsantik:
Mas assim, no mercado de trabalho real, são poucos os casos em que vc vai atribuir um valor diretamente na instrução SQL, geralmente isso é lido de alguma variável, Array, List, ArrayList e etc…

Imagine lendo informações de um formulário, vai ter que passar por variáveis, para serem lidos e serem inseridas no BD

Isso é bem relativo.
Claro, se considerarmso a média, ferramentas de ORM e o PreparedStatement são sempre maioria.
Agora, existem empresas que fazem esse processo “na mão” mesmo, em específico, isso é muito utilizando em áreas de quality assurance de softwares (onde o ambiente é alimentado somente para cenários de testes).

Porém, saber como a instrução é executada é sempre bom, pois pode auxiliar na construção de queries mais dinâmicas e menos custosas, seja para a performance do aplicativo ou do banco de dados.

De qualquer forma, o ideal é que ele comrpeenda por que uma variável é lida quando a string é concatenada e por que não é feito isso quando o nome da variável está inserido na string, o que, aparentemente, causou a dúvida.

Perfeito sua colocação.
Acredito que já tenha respondido nos post acima a dúvida do garoto.

Abs
Rodrigo

Respondeu sim :smiley:
Mais é sempre bom receber mais dicas.

Criado 21 de setembro de 2011
Ultima resposta 21 de set. de 2011
Respostas 10
Participantes 4