菜鸟问题——简单的Oracle语句,为何出错?

trybird 2001-08-29 02:14:13
如下,birthday_tbl是表名,想把符合条件的记录数存到变量v_today_birth_maxno中去:

declare v_today_birth_maxno int;
begin
select count(*) into v_today_birth_maxno from birthday_tbl
where Substr(trans_id,1,6)=To_Char(sysdate,'YYMMDD');
dbms_output.put_line('v_today_birth_maxno='||to_char(v_today_birth_maxno));
end;
...全文
194 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
trybird 2001-08-29
  • 打赏
  • 举报
回复
可能是注释行的问题,刚才我执行时在注释行后面。把declare后面的语句单独提出来,就行,放在一大堆注释后面还会出错
trybird 2001-08-29
  • 打赏
  • 举报
回复
/*select * from birthday_tbl
where activity_id='3838'
and card_no='0034567890123456'
and bir_date=sysdate;*/

/*insert into birthday_tbl(card_no,activity_id,bir_date,status,trans_id)
values('0034567890123456','3838',sysdate,'0','010829000001');*/

--select * from birthday_tbl;
--delete from birthday_tbl where activity_id='3838';

declare v_today_birth_maxno int;
begin
select count(*) into v_today_birth_maxno from birthday_tbl
where Substr(trans_id,1,6)=To_Char(sysdate,'YYMMDD');
dbms_output.put_line('v_today_birth_maxno='||to_char(v_today_birth_maxno));
end;
trybird 2001-08-29
  • 打赏
  • 举报
回复
真奇怪!
刚才还总保错!现在居然对了!
哇~~~~~~~~~~~~~~~真折腾人啊!

谢谢诸位!尤其是屡次指教我的xzou(缺齿小狼) !

这只是我系列测试的一部分,我乃菜鸟,不懂还要请教你们的!
一会结帐
KingSunSha 2001-08-29
  • 打赏
  • 举报
回复
在我这边调试通过,一点问题都没有.
xzou(缺齿小狼)说得不错,把错误信息贴出来先
trybird 2001-08-29
  • 打赏
  • 举报
回复
直接在WorkSheet执行:

select count(*) from birthday_tbl
where Substr(trans_id,1,6)=To_Char(sysdate,'YYMMDD');

没有错误。

结果如下:
COUNT(*)
----------
0
1 row selected.

但我需要把这个COUNT(*)的值保存到一个变量里……
joe225 2001-08-29
  • 打赏
  • 举报
回复
我想语法应该是没什么错误的,错误应该是在数据格式变化上
xzou 2001-08-29
  • 打赏
  • 举报
回复
乍一看没错。
用show error;把错误信息贴出来
trybird 2001-08-29
  • 打赏
  • 举报
回复
怎么办?

2,598

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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