Ir para conteúdo

POWERED BY:

Arquivado

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

rickab7

Como fazer uma IF?

Recommended Posts

Boa Noite,Galera estou precisando fazer um IF numa procedure na qual se não existir os valores na tabela eu quero inserila as mesma, o meu select ñ esta dando certo

CREATE OR REPLACE PROCEDURE P_ASSOCIA_USUARIO_ESTOQUE(AUX_CD_ESTOQUE INTEGER) IS NOME VARCHAR(60); COD NUMBER; BEGIN FOR C IN (SELECT * FROM DBASGU.USUARIOS WHERE SN_ATIVO = 'S') -- PRESTADOR DO TIPO MÉDICO LOOP IF (SELECT count(cd_estoque) FROM usu_estoque WHERE cd_id_do_usuario = c.cd_usuario AND cd_estoque = aux_cd_estoque) = 0 THEN INSERT INTO dbamv.usu_estoque VALUES (aux_cd_estoque, C.cd_usuario ,'N','S','S','N','N',0,'N','N','N'); END IF; END LOOP; END P_associa_usuario_estoque;

bom aquele if esta verificando se ja existe aqueles valores, c o resultado for igual a 0 eu insiro os valores. No SQL Server eu sei q esta da certo.. + e aqui pq ñ esta dando certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

CREATE OR REPLACE PROCEDURE P_ASSOCIA_USUARIO_ESTOQUE(AUX_CD_ESTOQUE INT)ISNOME VARCHAR(60);COD NUMBER;V_CONT NUMBER;CURSOR CUR_TEMP IS   SELECT cd_usuario    FROM DBASGU.USUARIOS    WHERE SN_ATIVO = 'S';	-- PRESTADOR DO TIPO MÉDICOBEGIN   FOR C IN CUR_TEMP LOOP	  SELECT count(cd_estoque) 	  INTO V_CONT	  FROM usu_estoque 	  WHERE cd_id_do_usuario = c.cd_usuario 	  AND cd_estoque = aux_cd_estoque;	  IF V_CONT = 0 THEN 		 INSERT INTO dbamv.usu_estoque VALUES (aux_cd_estoque,							 C.cd_usuario ,'N','S','S','N','N',0,'N','N','N');	  END IF;    END LOOP;   COMMIT;END P_associa_usuario_estoque;
acho q vai assim...

;)

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.