2009-11-23 11 views
5

私はSQL ServerからFirebirdに移行しています。ファイアバードSP、SELECT * FROM "TABLE"の操作方法は?

SQL Serverの

CREATE PROCEDURE Departments_GetAll 
AS 
    SELECT * FROM Departments 

で私はFirebirdの

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

SET TERM ;^

にしてみてくださいしかし、それは動作しません。

これはストアドプロシージャが複数の行を戻すためにリターンパラメータとsuspendコマンドを必要とするエラー「SQLコード-104」

+0

アドバイス:実際に何が行われているのか、なぜ必要なのかを本当に理解していない限り、識別子には引用符を使用しないでください。 – Fr0sT

答えて

9

を返します。

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 ;^
関連する問題