下面的语句为什么有问题?

younker 2003-09-12 01:52:50
CREATE PROCEDURE SPGETYEARDATA (
THEYEAR INTEGER)
AS
begin
/* Procedure Text */
select SR_DATE, SR_MONEY, SR_TYPE, SR_INCOMETYPE, SR_PAYOUTTYPE, SR_DESC
from SPENDINGRECORD
where extract(year from SR_DATE)=:THEYEAR;

suspend;
end

如果单独执行其内容的话是没有问题的,不过不知道为什么在添加了参数之后就出现了错误。错误信息如下:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 8, char 44.

...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
younker 2003-09-15
  • 打赏
  • 举报
回复
如果要返回多条结果集应该怎么办呢?
younker 2003-09-15
  • 打赏
  • 举报
回复
定义了返回值之后,就可以了,但实在SQLserver中好像也可以不用定义返回值得,是不是interbase中一定要定义返回值?
bonniewater 2003-09-13
  • 打赏
  • 举报
回复
是呀,你必须定义返回值才能够在调用这个存储过程的时候用
http://www.3asoft.com/files/ibfb/books/ib70guide.zip
这本书好
younker 2003-09-12
  • 打赏
  • 举报
回复
必须定义返回值吗?
到那里找到比较全面的参考书、
我用的是FireBird.
SuperTitan001 2003-09-12
  • 打赏
  • 举报
回复
你的语法有问题,没有定义返回值等等,可以参考我的例子,然后去看看书。


CREATE PROCEDURE SPGETYEARDATA(THEYEAR INTEGER)
RETURNS(NEW_RQ TIMESTAMP,NEW_CARDNUM VARCHAR(6))
AS
begin
/* Procedure Text */
for select SR_DATE,SR_DESC
from SPENDINGRECORD
where extract(year from SR_DATE)=:THEYEAR
into:new_rq,:new_cardnum
DO
suspend;
end

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧