Como criar um array em SQL e povoar uma tabela

19/07/2013

Tenho duas tabela
- produtos(id int (PK), produto char, quantidade int, varlor real, codprocesso int (FK))
- processos(id int (PK), produto char, quantidade int, valor real)

Gostaria de pegar o conteúdo em processos (armazenar em um array usando SQL) e povoar a tabela produtos com os dados que estão na tabela processos.

Respostas

19/07/2013

Cesar Roniglei

Sugiro que você coloque em uma variável do Tipo TABLE, e depois efetue um insert.
Ex: Declare @Table Table (Descricao Varchar(100), Nivel Int, Tipo Int)
Responder Citar

20/07/2013

Gabrielsimas

Olá Samuel,

A solução dada pelo nosso nobre colega resolveu o seu problema? se sim, poste aqui para que a gente possa dar o post como resolvido.

Forte Abraço,

Gabriel Simas
Responder Citar

08/08/2013

Rodrigo Lacerda

Samuel , conseguiu ou desistiu ? rs.
Responder Citar

08/08/2013

Samuel Lopes Currículo

Obrigado pelas respostas!

Consegui resolver meu problema com uma procedure, usando vetor e loop.
Muito Obrigado a todos!
Responder Citar

08/08/2013

Emanoel Deivison

Post Solucionado!!!
Responder Citar

14/08/2013

Gabrielsimas

Solucionadíssimo.

Forte Abraço a todos.
Responder Citar

14/08/2013

Mariana Carvalho

para isso não existe um codigo, só lembro como.
Responder Citar

15/08/2013

Daniel Costa

Array To Tabela



declare @texto varchar(8000) = 'teste1;teste2'
declare @delimitador varchar(8000) = ';'
declare @lista table (item VARCHAR(8000))
declare @sitem varchar(8000)

while charindex(@delimitador,@texto,0) <> 0
begin

select
@sitem=rtrim(ltrim(substring(@texto,1,charindex(@delimitador,@texto,0)-1))),
@texto=rtrim(ltrim(substring(@texto,charindex(@delimitador,@texto,0)+len(@delimitador),len(@texto))))

if len(@sitem) > 0
begin
insert into @lista select @sitem
end

if len(@texto) > 0
begin
insert into @lista select @texto
end

end

select * from @lista
Responder Citar

15/08/2013

Mariana Carvalho

esse é o codigo para popular a tabela?
Responder Citar

15/08/2013

Mariana Carvalho

é esse postado acima?
Responder Citar