INSERT ANORMAL
Saudações,
Tenho um string com vários códigos separados por vÃÂÂrgula
ex: strsql = 10,12,13,14
Quero criar uma tabela com esses códigos usando o comando insert,
[txt-color=#ff0000]MAS SEM USAR LOOP[/txt-color]
Algo do Tipo: Insert Into ##Temp select (10,12,13,14)
obs: O insert acima não funciona, é apenas demonstrativo.
Desde já grato!
Tenho um string com vários códigos separados por vÃÂÂrgula
ex: strsql = 10,12,13,14
Quero criar uma tabela com esses códigos usando o comando insert,
[txt-color=#ff0000]MAS SEM USAR LOOP[/txt-color]
Algo do Tipo: Insert Into ##Temp select (10,12,13,14)
obs: O insert acima não funciona, é apenas demonstrativo.
Desde já grato!
faz um teste.. ve se é isso:
todos os campos tem q ta na mesma ordem q ta na tabela
todos os campos tem q ta na mesma ordem q ta na tabela
Private Sub Command1_Click()
Dim mSQL As String
Dim valor As String
valor = "10,20,1,3"
mSQL = "insert into teste values ('" & valor & "')"
MsgBox Replace(mSQL, "'", "")
End Sub
Lamento mas desconheço este comando SQL, arrisco afirmar que não existe.
MAS SERIA POSSIVEL FAZER:
INSERT INTO tabela (fields) VALUES (SELECT fields FROM tabela2)
Ou seja, se estes valores vieram do próprio banco poderiamos fazer um insert com select (Internamente o BD usaria Linguagem C, mas usaria Loop ... umas 100x ou mais rapidamente que VB)
Lembre-se que as regras de integridade referencial e null-not null terão que ser observadas para não haver erro.
MAS SERIA POSSIVEL FAZER:
INSERT INTO tabela (fields) VALUES (SELECT fields FROM tabela2)
Ou seja, se estes valores vieram do próprio banco poderiamos fazer um insert com select (Internamente o BD usaria Linguagem C, mas usaria Loop ... umas 100x ou mais rapidamente que VB)
Lembre-se que as regras de integridade referencial e null-not null terão que ser observadas para não haver erro.
Esqueci de comentar que é em SQLServer, fiz como o Hugo mostrou só que deu erro
declare @strsql varchar(50)
declare @sql varchar (100)
set @strsql = '5,6,7'
create table #temps (cod int)
set @sql = 'insert into #temps values(' & Replace(@strsql, "'", " ") & ')'
execute(@sql)
select * from #temps
Deu o seguinte erro:
Server: Msg 207, Level 16, State 3, Line 8
Invalid column name ' '.
Server: Msg 207, Level 16, State 1, Line 8
Invalid column name '''.
declare @strsql varchar(50)
declare @sql varchar (100)
set @strsql = '5,6,7'
create table #temps (cod int)
set @sql = 'insert into #temps values(' & Replace(@strsql, "'", " ") & ')'
execute(@sql)
select * from #temps
Deu o seguinte erro:
Server: Msg 207, Level 16, State 3, Line 8
Invalid column name ' '.
Server: Msg 207, Level 16, State 1, Line 8
Invalid column name '''.
todos esse valores são para o mesmo campo?
se for não tem como mesmo... pelo menos eu não conheço.. vai ter q usar um loop.
ou vc faz um loop ou um insert igual do emerson.
esse meu insert é um valor para cada campo da tabela.
se for não tem como mesmo... pelo menos eu não conheço.. vai ter q usar um loop.
ou vc faz um loop ou um insert igual do emerson.
esse meu insert é um valor para cada campo da tabela.
Tópico encerrado , respostas não são mais permitidas