Dúvida comando SQL [RESOLVIDO]

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

Qual a diferença entre desses dois ?

[]'s

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?

Entendi… Vlw :smiley:

Agora em questão de desempenho muda alguma coisa ?

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.

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.

Hmm, obrigado aos dois :smiley:

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

Entendo…

Valeu pelas dicas.

[quote=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[/quote]

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.

[quote=drsmachado][quote=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[/quote]

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.[/quote]

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

Abs
Rodrigo

[quote=rsantik][quote=drsmachado][quote=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[/quote]

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.[/quote]

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

Abs
Rodrigo[/quote]

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