免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3457 | 回复: 6
打印 上一主题 下一主题

大伙帮帮忙,关于SYBASE存储过程的两个问题:生成和异常 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-07 09:49 |只看该作者 |倒序浏览
我以存储过程搜索了SYBASE的所有帖子,找不到需要的答案。故发个新帖请教各位高人。
问题一、我把存储过程写成一个文本文件后,怎么在ISQL里调用这个脚本生成存储过程?我的意思是说除了打开ISQL时后跟SQL文件名(isql -Usa -Pxxx -i procfile)的一次性方法外,如何在ISQL里随时执行一个文本文件中的SQL语句,就象ORACLE的SQLPLUS中的@sqlfile命令。
问题二、存储过程中的SQL执行不成功时,我怎么捕获它的详细出错信息?也就是说,PB中的SQLCA.SQLERRTEXT对应数据库中的什么东东?有没有一个对应的@@errTEXT变量?另外,判断SQL执行成功应该使用@@error还是@@SQLSTATUS?

谢谢!

论坛徽章:
0
2 [报告]
发表于 2004-07-07 09:55 |只看该作者

大伙帮帮忙,关于SYBASE存储过程的两个问题:生成和异常

一是加-o命令
二是将执行结果定向到某文件中去如command >; text

论坛徽章:
0
3 [报告]
发表于 2004-07-07 15:23 |只看该作者

大伙帮帮忙,关于SYBASE存储过程的两个问题:生成和异常

原帖由 "tangl" 发表:
一是加-o命令
二是将执行结果定向到某文件中去如command >; text


不明白你的意思,能不能说得详细点?

论坛徽章:
0
4 [报告]
发表于 2004-07-08 01:12 |只看该作者

大伙帮帮忙,关于SYBASE存储过程的两个问题:生成和异常

我把问题描述清楚一点吧:
问题一、象ORACLE的SQLPLUS,随时可以使用这样的语法@sqlfilename调用一个外部SQL脚本。而SYBASE的语法isql -Uxx -Pxxx -i sqlfilename只能一次调用一个,而且执行完后会退到操作系统提示符下,而不是ISQL提示符状态。我想知道isql如何做到象sqlplus一样在isql提示符下随时调用sql脚本?

问题二:SYBASE是一个多用户数据库系统,那么一个SQL语句执行时,可能会因为锁记录或者违反约束条件或者其它原因导致执行不成功,这个时候,我如何判断该SQL是否成功?是根据@@error还是@@sqlstatus?除了出错标志外,我还想给调用该存储过程的前台程序(比如PB应用)返回此错误的文字性描述信息,就象我用PB直接执行SQL语句出错时记录在SQLCA.SQLErrText中的信息一样。tangl说重定向到文件中去,这样做根本不可行,首先,重定向的信息是输出到标准终端的信息,用PB调用存储过程时根本不拥有标准输出终端,其次,即使重定向成功了,客户端的应用(比如PB应用)也没有办法读出重定向文件中的错误信息。

论坛徽章:
0
5 [报告]
发表于 2004-07-09 00:42 |只看该作者

大伙帮帮忙,关于SYBASE存储过程的两个问题:生成和异常

高手呢?自顶一下。

论坛徽章:
0
6 [报告]
发表于 2004-07-09 09:06 |只看该作者

大伙帮帮忙,关于SYBASE存储过程的两个问题:生成和异常

1:
1>;vi  ---->; :r file


2:
check both @@sqlstatus and @error

论坛徽章:
0
7 [报告]
发表于 2004-07-09 09:53 |只看该作者

大伙帮帮忙,关于SYBASE存储过程的两个问题:生成和异常

原帖由 "zhhui2000" 发表:
1:
1>;vi  ---->; :r file


2:
check both @@sqlstatus and @error


谢谢。第一点没看明白,就按vi ---->; :r file的格式写?

第二点中你只说了怎么检测到错误,我想知道错误发生时怎么获得错误的描述信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP