Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

amandita

insert e select juntos?

Recommended Posts

eu tenho a seguinte string sql:

 

insert into TAB_OFERTAS select A.*, '1' from TABELA_PREÇOS where valor < 300,00 and valor > 150,00

é possível eu executá-lo? Pq assim, é como se estivesse inserindo um select, entende? :blink: Eu achei meio estranho e queria saber se isso acontece ou se pode dar algum bug...

 

Muuuito obrigada se alguém me ajudar.

 

Amanda

 

ah! nao sei se influencia, mas o bco é oracle

Compartilhar este post


Link para o post
Compartilhar em outros sites

É perfeitamente possível, desde que a quantidade os tipos e os campos da tabela do INsert sejam os mesmos do Select.....No SQL Server, eu costumo usar assim:

Create Table #tb_usuario    (cd_usuario int,     ds_usuario varchar(255),     ds_senha varchar(255))Insert Into #tb_usuarioSelect          cd_usuario,           ds_usuario,           ds_senhafrom           tb_usuario2      

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, mas da forma que eu mostrei está correto? eu digo.. seguinte, aqui está o que eu estou usando mesmo, da forma que está no código:

 

sSQL = " insert into oferta_hist SELECT a.*, " & iCod & " FROM " & sTabela & " a WHERE dtah_stat >= " & db.FData(sDataIni,1) & " and dtah_stat <= " & db.FData(sDataFin,1)

considerando que todos os campos estão corretos, e as tabelas tb, a sintaxe está certa? pq como eu nunca usei dessa forma, nào sei bem como fazer... pensei em usar parênteses talvez. Colocar o select em parênteses. Enfim, essas coisas..

 

Obrigadaaaa!!!! http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

e se um único campo estiver diferente, no nome e no tipo, ele não faz o insert ou faz de todos os campos, menos aquele que está diferente???

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma forma prática q uso é especificando os campos... -----------------------tabelacod int(4)nome varchar(50)texto1 varchar(50)texto2 varchar(50)texto3 varchar(50)-----------------------tabela_historicocod int(4)nome varchar(50)texto1 varchar(50)texto2 varchar(50)texto3 varchar(50)INSERT INTO tabela_historico(cod, nome, texto1, texto2, texto3)SELECT cod, nome, texto1, texto2, texto3FROMtabela where [condicao]acho q é isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.