驴Como hacer un SELECT dentro de un trigger?

Alvaro
11 de Enero del 2005
Hola. Trabajo en SYBASE y tengo problemas con un trigger. Cuando se hace una inserci贸n en una tabla 1, el trigger realiza a su vez un insert en una tabla 2. El problema viene cuando tengo que modificar el trigger para que solo haga la inserci贸n en la tabla 2 en funci贸n de unas condiciones.

Para evaluar estas condiciones, me veo obligado a hacer una consulta de tipo:
select 1
from tabla3
where param=valor

Si se obtienen resultados, no se hace inserci贸n en la tabla 2.

El error que me da es:
java.sql.SQLException: JZ0P1: Unexpected result type.

Cualquier idea es bienvenida...

Alvaro
11 de Enero del 2005
Se me olvidaba, he probado tambi茅n a meter esa consulta dentro de un procedimiento almacenado y llamar a la ejecuci贸n de ese procedimiento almacenado desde el trigger, pero en ese caso el error es:
com.sybase.jdbc.SybSQLException: Stored procedure 'dbo.COMPRUEBA_LISTA' may be run only in unchained transaction mode. The 'SET CHAINED OFF' command will cause the current session to use unchained transaction mode.

Alvaro
11 de Enero del 2005
OK, ya lo he solucionado mediante un cursor. Este es el c贸digo:

begin
select @lista = 0
declare csrCONSULTA cursor for
SELECT 1 FROM TABLA_A
WHERE campo_A = variable_A
UNION
SELECT 1 FROM TABLA_B
WHERE campo_B = variable_B

open csrCONSULTA
fetch csrCONSULTA into @lista

close csrCONSULTA
end