2009-11-23 27 views
5

Estoy migrando de SQL Server a Firebird.¿Cómo hacer un SP Firebird, SELECCIONAR * DE "TABLE"?

En SQL Server

CREATE PROCEDURE Departments_GetAll 
AS 
    SELECT * FROM Departments 

yo trato en Firebird

CREATE PROCEDURE DEPARTMENTS_DELETEALL 
AS 
BEGIN 
    SELECT * FROM "Departments"; 
END^ 

SET TERM ;^

Pero eso no funciona.

devuelve un error "Código de SQL -104"

+0

Asesoramiento: no utilice comillas en identificadores a menos que realmente comprenda lo que hace y por qué lo necesita. – Fr0sT

Respuesta

9

A las necesidades de procedimiento almacenado devuelven parámetros y el comando suspend con el fin de devolver varias filas.

CREATE PROCEDURE DEPARTMENTS_GET_ALL 
returns(id integer, name varchar(100)) 
AS 
BEGIN 
    FOR SELECT id, name 
    FROM "Departments" 
    into :id, :name do 
    BEGIN 
    SUSPEND; 
    END 
END^ 

SET TERM ;^
Cuestiones relacionadas