使用Delphi代码在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

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

问题是;终止了语句,但您正试图执行一个包含;的语句。

你需要把终结者换成别的东西。

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

ParamCheck:=False;

它对我有效。

相关内容

最新更新