Boa Tarde pessoal, queria saber se tem como eu fazer assim:
insert into movimento select * from movimento;
e dai em outro Sql Plus com outra sessão ver quantos registros já foram inseridos na tabela?
Duvida de sessão banco.
-
- Rank: Programador Sênior
- Mensagens: 60
- Registrado em: Ter, 17 Jan 2006 1:45 pm
- Localização: Santa Catarina
Att.:
Alan Juliano Metzger
Programador Oracle
Inside System Informática
Msn/E-mail: alanjuliano@yahoo.com.br
Alan Juliano Metzger
Programador Oracle
Inside System Informática
Msn/E-mail: alanjuliano@yahoo.com.br
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Desde que ambas tenham a mesma quantidade (e ordem) de colunas, sim, perfeitamente.
Caso contrário, corrija as colunas no lugar do "*".
qualquer coisa, manda ai.
Desde que ambas tenham a mesma quantidade (e ordem) de colunas, sim, perfeitamente.
INSERT INTO TESTE SELECT * FROM TAB_TESTE;
qualquer coisa, manda ai.
-
- Rank: Programador Sênior
- Mensagens: 60
- Registrado em: Ter, 17 Jan 2006 1:45 pm
- Localização: Santa Catarina
Att.:
Alan Juliano Metzger
Programador Oracle
Inside System Informática
Msn/E-mail: alanjuliano@yahoo.com.br
Alan Juliano Metzger
Programador Oracle
Inside System Informática
Msn/E-mail: alanjuliano@yahoo.com.br
Acho que você não entendeu minha pergunta.
Eu quero saber se tem como eu ver quantos registros já forma inseridos por um insert sem dar commit entendeu?
Eu quero saber se tem como eu ver quantos registros já forma inseridos por um insert sem dar commit entendeu?
-
- Rank: DBA Sênior
- Mensagens: 365
- Registrado em: Ter, 24 Mai 2005 2:24 pm
- Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP
Araraquara - SP
E ai meguelito, beleza??
q eu saiba não tem como ver o resultado de outra sessao a não ser q você commite os dados..
bem, da uma procurada na net sobre "set auto commit", não tenho certeza q vai resolver seu problema..
você não poderia montar um bloco anonimo pra fazer isso? se puder não é dificil de fazer isso q você precisa...
[]s
q eu saiba não tem como ver o resultado de outra sessao a não ser q você commite os dados..
bem, da uma procurada na net sobre "set auto commit", não tenho certeza q vai resolver seu problema..
você não poderia montar um bloco anonimo pra fazer isso? se puder não é dificil de fazer isso q você precisa...
[]s
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Desculpa brother,
Mas, ver em outra sessão, sem commit, desconheço e, acho q não tem como fazer...
Não existe outra forma de solucionar teu problema?
O que você realmente necessita?
Mas, ver em outra sessão, sem commit, desconheço e, acho q não tem como fazer...
Não existe outra forma de solucionar teu problema?
O que você realmente necessita?
-
- Rank: Estagiário Pleno
- Mensagens: 4
- Registrado em: Qui, 25 Out 2007 1:35 pm
- Localização: Rio de Janeiro - RJ
Raphael Porto
Não sei se isso irá dar certo, mas tenta fazer o seguinte:
Declara uma variável e a cada linha ela recbe "+1" daí você manda o PL parar quando essa variável chegar a um valor que você queira (Ex.: o valor de linhas "x" inseridas), porém não vai ver os dados que foram inseridos, só vai conseguir ver os dados depois de dar o commit.
Além disso não faço idéia.
Abraço
Declara uma variável e a cada linha ela recbe "+1" daí você manda o PL parar quando essa variável chegar a um valor que você queira (Ex.: o valor de linhas "x" inseridas), porém não vai ver os dados que foram inseridos, só vai conseguir ver os dados depois de dar o commit.
Além disso não faço idéia.
Abraço
-
- Rank: DBA Pleno
- Mensagens: 232
- Registrado em: Sex, 30 Mar 2007 7:26 pm
- Localização: Londrina - PR
Rafael O. Genaro
Dependendo do quanto você precise disso, seria possível criar uma tabela para controlar a quantidade de registros inseridos, alimentada por uma segunda função que utilize o AUTONOMOUS_TRANSACTION, para que lá dentro você possa realizar o commit da quantidade de registros, sem realizar o commit na aplicação principal.
Mas é bem provável que a solução acima seja mais lenta do que a solução original... mas de qualquer forma está aí a dica.
procedure p_atualiza_contagem (p_qtde_atual in number)
is
pragma autonomous_transaction;
begin
update tabela_controle set quantidade = p_qtde_atual;
commit;
end p_atualiza_contagem;
procedure p_insere_movimento
is
v_qtde number := 0;
begin
for x in
( select rowid rid from movimento
) loop
insert into movimento
select * from movimento where rowid = x.rid
;
v_qtde := v_qtde + 1;
-- Só atualizar a tabela a cada n registros, para não afetar muito mais a performance...
if (mod(v_qtde, 1000) = 0) then
p_atualiza_contagem(v_qtde);
end if;
end loop;
end p_insere_movimento;
Mas é bem provável que a solução acima seja mais lenta do que a solução original... mas de qualquer forma está aí a dica.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes