从Delphi代码在Firebird中创建存储过程

时间:2016-05-05 14:07:52

标签: delphi stored-procedures firebird

如何使用Delphi XE3代码在Firebird中创建存储过程?我想通过Delphi代码添加一个存储过程。我正在使用TSQLQuery.ExecSQL(),但它在第9行第10列引发错误。

CREATE PROCEDURE GET_BRANCH_ID (
  EMPID Integer)
 returns (
  EMPBRANCHID Integer)
AS
declare variable EmpBrch Integer;
Begin
 select EMP_BRANCH_ID from EMPLOYEE where EMPLOYEE_ID= :EMPID
   into :EmpBrch;
   EMPBRANCHID = :EmpBrch;
   SUSPEND;
End

我使用的Delphi代码是:

with SQLQueryExc do
begin
  close;
  SQL.clear;
  SQL.Add(SPString.Text);
  ExecSQL();
End

任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:2)

问题是;终止了该语句,但您正在尝试在其中执行包含;的语句。

您需要将终结器更改为其他内容。

SET TERM !! ;
CREATE PROCEDURE GET_BRANCH_ID (
  EMPID Integer)
 returns (
  EMPBRANCHID Integer)
AS
declare variable EmpBrch Integer;
Begin
 select EMP_BRANCH_ID from EMPLOYEE where EMPLOYEE_ID= :EMPID
   into :EmpBrch;
   EMPBRANCHID = :EmpBrch;
   SUSPEND;
End !!
SET TERM ; !!

完成后,请务必将终结器更改回;

请参阅:http://www.firebirdsql.org/manual/isql-terminator.html

答案 1 :(得分:1)

ParamCheck:=False;

它对我有用。