佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1395|回复: 2

Firebird: Stored Procedure 的问题

[复制链接]
发表于 19-4-2006 05:43 PM | 显示全部楼层 |阅读模式
我用 Firebird database,
我 create 以下的 procedure 时:

SET TERM ^ ;
CREATE PROCEDURE "View_Data"
AS
BEGIN

   Select * From "TryTable";

END^
SET TERM ; ^



Error 是 :

ISC ERROR CODE:335544569

ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 4, char 28
;



请问问题出在哪里?难道是 error message 里说的";"?
因为网上的例子完全都有用分号";",
以下是网上的例子:

CREATE PROCEDURE SUB_TOT_BUDGET
(
HEAD_DEPT CHAR(3)
)
RETURNS (
TOT_BUDGET NUMERIC (15, 2),
AVG_BUDGET NUMERIC (15, 2),
MIN_BUDGET NUMERIC (15, 2),
MAX_BUDGET NUMERIC (15, 2)
)
AS

BEGIN
SELECT SUM(budget), AVG(budget), MIN(budget), MAX(budget)
  FROM department
  WHERE head_dept = :head_dept
  INTO :tot_budget, :avg_budget, :min_budget, :max_budget;
SUSPEND;
END ^



我想了很久都不知道错在哪里,
请问有人可以帮忙吗?

谢谢!!

[ 本帖最后由 nicholes82 于 19-4-2006 05:45 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 20-4-2006 12:13 AM | 显示全部楼层
firebird 的 stored procedure 每一行都要以 ; 做為結尾

你的 SP 裏面沒有 RETURN VALUE, 所以會有 error
還有就是你的 sp 裏只 return 1 row, 所以也會有 error
修改後的 sp


  1. SET TERM ^ ;

  2. CREATE PROCEDURE SP1
  3. RETURNS (
  4.     C1 INTEGER,
  5.     C2 VARCHAR(30),
  6.     C3 DATE)
  7. AS
  8. begin
  9.     for select * from TABLE1 into :C1, :C2, :C3
  10.     do suspend;
  11. end
  12. ^

  13. SET TERM ; ^
复制代码


我的 table1 有 3 個 column, 分別是 integer, varchar(30), 和 date

[ 本帖最后由 flashang 于 20-4-2006 12:22 AM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 20-4-2006 09:58 AM | 显示全部楼层
原帖由 flashang 于 20-4-2006 12:13 AM 发表
firebird 的 stored procedure 每一行都要以 ; 做為結尾

你的 SP 裏面沒有 RETURN VALUE, 所以會有 error
還有就是你的 sp 裏只 return 1 row, 所以也會有 error
修改後的 sp

[code]
SET TERM ^ ;

C ...


谢谢你,问题解决了。

就是说 SP 一定要有 return value, 除非 insert data 进 database 才不用 return value?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 22-9-2024 11:30 AM , Processed in 0.108074 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表