Gracias por sus comentarios ahora estoy con las vistas y necesito saber como utilizo este código con C#
Tengo la siguiente vista.
Código SQL
[-]CREATE VIEW CHILD_VIEW ( ID, PARENT_ID, OTHER_STUFF, GRANDPARENT_ID )
AS SELECT C.ID, C.PARENT_ID, C.OTHER_STUFF, C.GRANDPARENT_ID FROM CHILD C join PARENT P on P.ID = C.PARENT_ID;
Y el siguiente Trigger para esa vista
Código SQL
[-]CREATE TRIGGER CHILD_VIEW_Save FOR CHILD_VIEW ACTIVE BEFORE INSERT OR UPDATE POSITION 10
AS BEGIN
IF(NEW.ID IS NULL)THEN NEW.ID = GEN_ID(GEN_Child, 1);
UPDATE OR INSERT INTO CHILD (ID, PARENT_ID, OTHER_STUFF, GRANDPARENT_ID)
VALUES(NEW.ID, NEW.PARENT_ID, NEW.OTHER_STUFF, NEW.GRANDPARENT_ID);
END
Actualmente estoy usando el siguiente código de C#
Código:
FbCommand cmd = new FbCommand("CHILD_VIEW(1, 123, 'Luis Peres')", fbConn);
cmd.CommandType = CommandType.StoredProcedure;
FbDataReader fb_reader = cmd.ExecuteReader();
Pero en el punto FbDataReader fb_reader = cmd.ExecuteReader() me da el siguiente error
Código:
Dynamic SQL Error
SQL error code = -204
Procedure unknown
CHILD_VIEW
At line 1, column 15
Por eso mi preguntas son:
¿Tengo algún error en el código SQL?
¿Estoy utilizando mal y no debo de utilizar cmd.ExecuteReader()?
¿Como implemento esta vista que adicionalmente mediante el trigger agrega los datos a la tabla CHILD?
Muchas Gracias por la ayuda que me brindan y la paciencia que me tienen pues estoy comenzando con FireBird.
Ssludos