rickab7 0 Denunciar post Postado Julho 20, 2006 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
ska_ska 0 Denunciar post Postado Julho 20, 2006 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
alphamek 2 Denunciar post Postado Julho 24, 2006 Perfeito Ska_Ska!!! Funciona sim! Abraços, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites