sql
SET TERM ^ ; CREATE PROCEDURE "SpBuscaEjidos" ( "IpOpcion" INTEGER, n INTEGER, "IpParametro" VARCHAR(150) CHARACTER SET octets) RETURNS ( "V_Ejido" VARCHAR(120) CHARACTER SET octets, "V_Municipio" VARCHAR(60) CHARACTER SET octets, "V_Estados" VARCHAR(50) CHARACTER SET octets, "V_IdEjido" INTEGER, "V_IdMunicipio" INTEGER, "V_IdEstados" INTEGER) AS BEGIN IF (:"IpOpcion"=0) THEN /* Busqueda por Municipio*/ BEGIN FOR SELECT Eji."Ejido",Mun."Municipio",Mun."Estados",Eji."IdEjidos",Mun."IdMunicipios",Est."IdEstados" FROM "Municipios" Mun,"Ejidos" Eji,"Estados" Est WHERE Eji."IdMunicipios"=Mun."IdMunicipios" AND Mun."IdEstados"= Est."IdEstados" AND Mun."Municipio" LIKE:"IpParametro" ||'%' INTO:"V_Ejido",:"V_Municipio",:"V_Estados",:"V_IdEjido",:"V_IdMunicipio",:"V_IdEstados" Do BEGIN suspend; N = N - 1; IF (N = 0) THEN exit; END END IF (:"IpOpcion"=1) THEN /* Busqueda por Ejido*/ BEGIN FOR SELECT "Ejidos"."Ejido","Municipios"."Municipio","Municipios"."Estados","Ejidos"."IdEjidos","Municipios"."I dMunicipios","Estados"."IdEstados" FROM "Municipios" ,"Ejidos" ,"Estados" WHERE "Ejidos"."IdMunicipios"= "Municipios"."IdMunicipios" AND "Municipios"."IdEstados"="Estados"."IdEstados" AND "Ejidos"."Ejido" LIKE:"IpParametro" ||'%' INTO:"V_Ejido",:"V_Municipio",:"V_Estados",:"V_IdEjido",:"V_IdMunicipio",:"V_IdEstados" Do BEGIN suspend; N = N - 1; IF (N = 0) THEN exit; END END END^ SET TERM ; ^ GRANT SELECT ON "Municipios" TO PROCEDURE "SpBuscaEjidos"; GRANT SELECT ON "Ejidos" TO PROCEDURE "SpBuscaEjidos"; GRANT SELECT ON "Estados" TO PROCEDURE "SpBuscaEjidos"; GRANT EXECUTE ON PROCEDURE "SpBuscaEjidos" TO SYSDBA;
Con lo unico que mes estoy peliando es con el Signo de % que no me reconoce el nuevo Firebird, que podria ser tendria que configurar algo en los parametros de Firebird?
Estoy trabajando con IbExpert Personal Edition, lo de las comillas el IbExpert me los fue colocando solo, y estoy usando dialecto 3.
Saludos cordiales