如何做一个firebird SP,SELECT*FROM"TABLE"?

Zeq*_*eqk 6 sql firebird select stored-procedures

我正在从SQL Server迁移到Firebird.

在SQL Server中

CREATE PROCEDURE Departments_GetAll
AS
    SELECT * FROM Departments
Run Code Online (Sandbox Code Playgroud)

我在Firebird中尝试

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

SET TERM ; ^
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

它返回错误"SQL Code -104"

Dou*_*osi 10

存储过程需要返回参数和suspend命令以返回多行.

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 ; ^
Run Code Online (Sandbox Code Playgroud)