社区
数据库相关
帖子详情
在pb脚本中用动态sql禁用某表触发器,如何判断是否成功?
phonixman
2009-07-28 08:57:40
源码:
ls_sql ="Alter Talbe Table1 Disable Trigger TU_Table1"
exec immediate :ls_sql;
如何判断执行返回值呢?用sqlca.sqlcode判断,无论如何都是返回 -1 ,但查看触发器发现的确已禁用。在2句前后加上sqlca.autocommit=true 和sqlca.autocommit=false得到的返回值也是-1。求解决。
...全文
237
8
打赏
收藏
在pb脚本中用动态sql禁用某表触发器,如何判断是否成功?
源码: ls_sql ="Alter Talbe Table1 Disable Trigger TU_Table1" exec immediate :ls_sql; 如何判断执行返回值呢?用sqlca.sqlcode判断,无论如何都是返回 -1 ,但查看触发器发现的确已禁用。在2句前后加上sqlca.autocommit=true 和sqlca.autocommit=false得到的返回值也是-1。求解决。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
myclife
2009-07-28
打赏
举报
回复
SQL server里好像直接return 值就行,并用RAISERROR('errorinfo!',16,1)返回自定义错误文本。
phonixman
2009-07-28
打赏
举报
回复
[Quote=引用 3 楼 myclife 的回复:]
把alter语句封装到存储过程里获取返回值试试。
[/Quote]
给个例子,如何获取存储过程返回执.谢谢!
myclife
2009-07-28
打赏
举报
回复
把alter语句封装到存储过程里获取返回值试试。
singsongs
2009-07-28
打赏
举报
回复
这个问题不会,但是帮顶,期冀高手过来回答!
lmzyhy
2009-07-28
打赏
举报
回复
好像没有办法判断
phonixman
2009-07-28
打赏
举报
回复
谢谢楼上的几位.我这样解决了:写个禁用触发器的存储过程,然后pb中调用该存储过错,判断返回值来判断是否禁用成功.
永生天地
2009-07-28
打赏
举报
回复
你这两句都有问题,我来给你改改
ls_sql ="Alter Table Table1 Disable Trigger TU_Table1"
execute immediate :ls_sql;
还有如果不设置sqlca.autocommit = true
必须写上commit
if sqlca.sqlcode<>0 then
messagebox(string(sqlca.sqlcode),sqlca.sqlerrtext)
rollback;
else
commit;
end if
建议不要只看sqlca.sqlcode这个只能报告执行是否成功,
而sqlca.sqlerrtext可以报告错误信息
[Quote=引用楼主 phonixman 的回复:]
源码:
ls_sql ="Alter Talbe Table1 Disable Trigger TU_Table1"
exec immediate :ls_sql;
如何判断执行返回值呢?用sqlca.sqlcode判断,无论如何都是返回 -1 ,但查看触发器发现的确已禁用。在2句前后加上sqlca.autocommit=true 和sqlca.autocommit=false得到的返回值也是-1。求解决。
[/Quote]
Delphi实现sql 复制编程
{ Copyright (c) 咏南工作室 2006 作者: 陈新光 EMail:hnxxcxg@yahoo.com.cn QQ: 254072148 手机: 13025531017 TODO: 断网收银以及总部和各门店间的数据通讯(通过复制方法实现) 作为备份方案亦可 } { .首先要安装ActivX控件:component->import active
SQL Server技巧合集2005-04-2
SQL SERVER中对查询结果随机排序问:怎样才能对查询结果随机排序? 答:对结果记录随机排序,或随机返回X条记录,可以通过在SELECT语句中使用RAND函数来实现。但是RAND函数在查询中只生成一次,因此每一行都将得到相同的值。可以通过在ORDER BY子句中使用NEWID函数来对结果进行排序的方法来实现,代码如下: SELECT *
FROM Northwind..Orders
ORDER BY NEWID() SELECT TOP 10 *
MS-SQL Server 基础类 - SQL语句
SqlServer技巧集合(一)
SQL SERVER中对查询结果随机排序问:怎样才能对查询结果随机排序? 答:对结果记录随机排序,或随机返回X条记录,可以通过在SELECT语句中使用RAND函数来实现。但是RAND函数在查询中只生成一次,因此每一行都将得到相同的值。可以通过在ORDER BY子句中使用NEWID函数来对结果进行排序的方法来实现,代码如下: SELECT * FROM Northwind..O
sql server 2005数据库
尝试了很多方法,最后的问题是--主机名后面必须加上数据库实例名称(主机名\数据库实例)。之前一直是点击查询分析器sqlserver右边的按钮自动查找的,或者直接填写“.”或是“local”就可以。 下面是在解决问题是找到的资料,感觉不错copy下类学习的。 原文地址 http://www.yesky.com/searchdatabase/504978202846822400/2005042
数据库相关
754
社区成员
12,762
社区内容
发帖
与我相关
我的任务
数据库相关
PowerBuilder 数据库相关
复制链接
扫一扫
分享
社区描述
PowerBuilder 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章