触发器执行 提示问题?

xiehw007 2010-08-13 11:54:39
如下触发器,用户在表fitemss97中增加记录时,截取fitemss97.citemname 的前50个字符(表中的citemname长度为 nvarchar(60)不可更改)
现以下触发器已达到此功能,我想问下,在执行update时,也就是用户输入的字符超过50个字符被触发器删了多余的部分时,能在触发器中给个提示吗?要提醒软件前台操作员的?



CREATE TRIGGER fitemss97_Insert ON fitemss97
FOR insert
as
BEGIN
DECLARE @I_id int --档案 ID
DECLARE @citemname nvarchar(60)

DECLARE xhw_aut CURSOR FOR
SELECT I_id,citemname FROM inserted
open xhw_aut
FETCH xhw_aut into @I_id,@citemname
while @@FETCH_STATUS = 0
begin
update fitemss97
set citemname=substring(dbo.fitemss97.citemname,0,51)
where I_id=@I_id
FETCH xhw_aut into @I_id,@citemname
end
CLOSE xhw_aut
DEALLOCATE xhw_aut
END

...全文
99 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
artwl_cn 2010-08-13
  • 打赏
  • 举报
回复
同意一楼的看法,如果你非要这样处理的话可以在fitemss97中加一个提示字段,然后在触发器中给这个字段赋值,比如1为没有截取,2为截取了。然后在前台程序中执行插入后取出提示字段,根据值来提示用户是否已截断。
hokor 2010-08-13
  • 打赏
  • 举报
回复
楼主思路很新颖啊。把简单问题复杂化了吧?
为甚么不在前台录入的时候提示?
找你这么处理缺点多多啊。
1.数据库压力比较大
2.实现起来复杂
3.用户体验太差,莫非用户提交了数据等半天你返回一个提示?
人鱼传说 2010-08-13
  • 打赏
  • 举报
回复
原来楼主是被逼的,同情一下
xiehw007 2010-08-13
  • 打赏
  • 举报
回复
因为这软件是别人开发好的,我们属于二次开发,而且没有原来的代码。只能从数据库中做文章了啊

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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