2009-11-23 6 views
5

Ich migriere von SQL Server zu Firebird.Wie macht man einen Firebird SP, SELECT * FROM "TABLE"?

In SQL Server

CREATE PROCEDURE Departments_GetAll 
AS 
    SELECT * FROM Departments 

Ich versuche, in Firebird

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

SET TERM ;^

Aber das funktioniert nicht.

Es gibt einen Fehler „SQL-Code -104“

+0

Hinweis: Verwenden Sie keine Anführungszeichen in Bezeichnern, es sei denn Sie wirklich verstehen, was es tut und warum Sie es brauchen. – Fr0sT

Antwort

9

eine gespeicherte Prozedur Bedürfnisse Rückgabeparameter und die suspend Befehl, um mehrere Zeilen zurück.

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 ;^