tutorial principales error descargar costo caracteristicas database db2

database - principales - ¿Cómo verificar un procedimiento/vista/tabla existe o no antes de soltarlo en db2 9.1?



db2 tutorial (1)

¿Cómo escribimos a continuación pseudo código en db2,

If (Proc exists) Drop Proc Create Proc Else Create Proc

Una solución que encontré, después de googlear es ignorar los códigos de retorno. ¿Tenemos una forma más elegante de hacer esto?

Gracias

Actualización: con la ayuda de la respuesta a continuación, escribimos un procedimiento como el siguiente para eliminar los procedimientos

CREATE PROCEDURE SVCASNDB.DROPSP(IN P_SPECIFICNAME VARCHAR(128)) SPECIFIC DROPSP P1: BEGIN -- Drop the SP if it already exists if exists (SELECT SPECIFICNAME FROM SYSIBM.SYSROUTINES WHERE SPECIFICNAME = trim(upper(p_SpecificName))) then begin DECLARE v_StmtString VARCHAR (1024); SET v_StmtString = ''DROP SPECIFIC PROCEDURE SCHEMA.'' || p_SpecificName; PREPARE stmt1 FROM v_StmtString ; EXECUTE stmt1; end; end if; END P1


esta consulta:

SELECT DISTINCT ROUTINENAME, RESULT_SETS, REMARKS FROM SYSIBM.SYSROUTINES WHERE ROUTINESCHEMA=''<schema>'' AND FUNCTION_TYPE NOT IN (''S'', ''T'')

(donde especifica su nombre de esquema en el marcador de posición) le proporciona todos los procesos en un esquema. Entonces, la parte de Proc exists es simplemente una consulta EXISTS en esa vista con el nombre de proceso adecuado.