双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

在pb代码中如何实现update sysobjects

xister xister 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
大家知道想要更新系统表sysobjects在查询分析器中可用
sp_configure 'allow updates',1
reconfigure with override
go
update sysobjects set crdate='2003-12-14' where id=10
go
sp_configure 'allow updates',0
reconfigure with override
可以上这些代码我如何在PB 中写代码来实现呢?
以下是我定的代码不过不能执行成功,请高手指点。
DECLARE sp_ca PROCEDURE FOR sys.sp_configure
@configname = 'allow updates',
@configvalue = 1 ;
execute sp_ca;
if sqlca.sqlcode=-1 then
gs_error=sqlca.sqlerrtext
rollback;
messagebox('error',gs_error)
return -1
end if
ls_sql="reconfigure with override"
EXECUTE IMMEDIATE :ls_sql using sqlca;

update sysobjects set crdate='2003-12-14' where name='gdzc_yw_pjtj';
//此种写法PB中就不能compile,提示“DATABASE C0038:不允许对系统目录即席更新”
if sqlca.sqlcode=-1 then
gs_error=sqlca.sqlerrtext
rollback;
messagebox('error',gs_error)
return -1
end if

ls_sql="update sysobjects set crdate='2003-12-14' where name='gdzc_yw_pjtj' "
EXECUTE IMMEDIATE :ls_sql using sqlca;
//这种写法执行没有效果

DECLARE sp_cb PROCEDURE FOR sys.sp_configure
@configname = 'allow updates',
@configvalue = 0 ;
execute sp_cb;
if sqlca.sqlcode=-1 then
gs_error=sqlca.sqlerrtext
rollback;
messagebox('error',gs_error)
return -1
end if
ls_sql="reconfigure with override"
EXECUTE IMMEDIATE :ls_sql using sqlca;
...全文
评论 3
收藏 已收藏
分享
返回顶部
xister
数据库相关 754 成员 12,762 内容