Procedure PL SQL

22/07/2015

0

Galera algue sabe me dizer o que está errado nessa procedure? Preciso fazer update de algumas tabelas, consigo criar com esse script porém não consigo executa-la!
Ao escrever a procedure usei o seguinte:

create or replace procedure sp_dw_update is
begin

begin

execute immediate ('truncate table TESTE_PROCEDURE');

execute immediate ('drop sequence seq_TESTE');

execute immediate ('CREATE SEQUENCE seq_TESTE MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10');

End ;


INSERT INTO TESTE_PROCEDURE (
SRK_TESTE,
SRK_PROJETO,
ID_PROJETO,
RESUMO,
DESCRICAO,
PROJETO
)
SELECT
seq_TESTE.NEXTVAL,
SRK_PROJETO,
ID_PROJETO,
RESUMO,
DESCRICAO,
PROJETO
FROM dim_projeto
END;


end sp_dw_update;
Daniel

Daniel

Responder

Post mais votado

23/07/2015

Sempre que posta um código use a tage code "</>" do primeiro ícone da esquerda.

Outra coisa se esta retornando erro post o erro, assim fica muito mais simples ajudar.

Teste o código abaixo:

create or replace procedure sp_dw_update is
begin 

	begin

		execute immediate ('truncate table TESTE_PROCEDURE');

		execute immediate ('drop sequence seq_TESTE');

		execute immediate ('CREATE SEQUENCE seq_TESTE MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10');

	End ;


	INSERT INTO TESTE_PROCEDURE (
	SRK_TESTE,
	SRK_PROJETO,
	ID_PROJETO,
	RESUMO,
	DESCRICAO,
	PROJETO
	)
	SELECT
	seq_TESTE.NEXTVAL,
	SRK_PROJETO,
	ID_PROJETO,
	RESUMO,
	DESCRICAO,
	PROJETO
	FROM dim_projeto;

end sp_dw_update;

Jothaz

Jothaz
Responder

Mais Posts

23/07/2015

Daniel

Obrigado Jothaz, deu certo... aproveitando o assunto tenho outras procedures para serem criadas basicamente com a mesma sintaxe porém os insert possuem uma cláusula WHERE e o PL SQL não está aceitando! Sabe de alguma alternativa?
Mais uma vez obrigadoo!!!
Responder

23/07/2015

Jothaz

Não quero ser chato, mas acho que você fazer uma pesquisa e se iterar sobre os rudimento do PL/SQL, do contrário pode ser frustrante.

Respondendo sua pergunta, teoricamente é só adicionar o WHERE:

    INSERT INTO TESTE_PROCEDURE (
    SRK_TESTE,
    SRK_PROJETO,
    ID_PROJETO,
    RESUMO,
    DESCRICAO,
    PROJETO
    )
    SELECT
    seq_TESTE.NEXTVAL,
    SRK_PROJETO,
    ID_PROJETO,
    RESUMO,
    DESCRICAO,
    PROJETO
    FROM dim_projeto
    where -->CONDIÇÃO<--;


Agora fica quase impossível ajudar sem você posta seu código, se for postar use a tag cod "</>", ou o erro que esta retornando.
Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar