SQL server触发器提问

chb89888404 2008-06-20 11:45:39
create trigger Course_CNO_List
on Course
for insert as
declare @Course_CNO int
select @Course_CNO=CNO from inserted
if(@Course_CNO not in(select CNO from Course))
begin
rollback transaction
raiserror('请输入课程号,%d不在Course中,请重新输入!',16,2,@Course_CNO)
end


这这个代码的意思是当我满足if条件的时候,就顺利的插入数据,否则就执行
raiserror('请输入课程号,%d不在Course中,请重新输入!',16,2,@Course_CNO)
但当不满足条件的时候为什么不出现
raiserror('请输入课程号,%d不在Course中,请重新输入!',16,2,@Course_CNO)
这个提示?
...全文
51 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzy_love_sly 2008-06-20
  • 打赏
  • 举报
回复
create trigger Course_CNO_List
on Course
for insert
as
begin

declare @Course_CNO int
select @Course_CNO=CNO from inserted
if exists(select 1 from inserted where cno not in(select CNO from Course))
begin
raiserror('请输入课程号,%d不在Course中,请重新输入!',16,2,@Course_CNO)
rollback transaction
end

end


pgy8288 2008-06-20
  • 打赏
  • 举报
回复
干吗把简单问题复杂化呢
写在存储过程里不是更简单.

create proc usp_AddCourse
(
@Course_CNO int
)
as
if not exists(select CNO from Course where (@Course_CNO = CNO))
insert ....-- 执行插入
else
begin
raiserror('请输入课程号,%d不在Course中,请重新输入!',16,2,@Course_CNO)
end
* 0 译者序 * 1 MySQL的一般的信息 o 1.1 什么是MySQL? o 1.2 关于本手册 + 1.2.1 本手册中使用的约定 o 1.3 MySQL的历史 o 1.4 MySQL的主要特征 o 1.5 MySQL稳定性? o 1.6 顺应2000年 o 1.7 SQL一般信息和教程 o 1.8 有用的MySQL相关链接 * 2 MySQL 邮件列表及如何提问或报告错误 o 2.1 MySQL邮件列表 o 2.2 提问或报告错误 o 2.3 怎样报告错误或问题 o 2.4 在邮件列表上回答问题的指南 * 3 MySQL的许可证和技术支持 o 3.1 MySQL的许可证政策 o 3.2 MySQL 使用的版权 + 3.2.1 可能的未来版权改变 o 3.3 MySQL商业性分发 o 3.4 许可证实例 + 3.4.1 销售使用 MySQL的产品 + 3.4.2 销售MySQL相关的服务 + 3.4.3 ISP MySQL服务 + 3.4.4 运营一个使用MySQL的Web服务器 o 3.5 MySQL的许可证和技术支持费用 + 3.5.1 付款信息 + 3.5.2 联系信息 o 3.6 商业性支持的类型 + 3.6.1 基本的电子邮件支持 + 3.6.2 扩展的电子邮件支持 + 3.6.3 登录支持 + 3.6.4 扩展的登录支持 * 4 安装 MySQL o 4.1 怎样获得MySQL o 4.2 MySQL支持的操作系统 o 4.3 使用MySQL哪个版本 o 4.4 怎样和何时发布更新版本 o 4.5 安装布局 o 4.6 安装MySQL二进制代码分发 + 4.6.1 Linux RPM注意事项 + 4.6.2 构造客户程序 + 4.6.3 系统特定的问题 # 4.6.3.1 Linux 注意事项 # 4.6.3.2 HP-UX 注意事项 o 4.7 安装 MySQL源代码分发 + 4.7.1 快速安装概述 + 4.7.2 运用补丁 + 4.7.3 典型的configure选项 o 4.8 编译问题? o 4.9 MIT-pthreads 注意事项 o 4.10 Perl 安装说明 + 4.10.1 在Unix操作系统上安装 Perl + 4.10.2 在 Win32上安装 ActiveState Perl + 4.10.3 在 Win32 上安装 MySQL Perl 分发 + 4.10.4 使用 Perl DBI/DBD接口遇到的问题 o 4.11 系统特定的问题 + 4.11.1 Solaris注意事项 + 4.11.2 Solaris 2.7 注意事项 + 4.11.3 Solaris x86 注意事项 + 4.11.4 SunOS 4 注意事项 + 4.11.5 Linux (所有的Linux版本)注意事项

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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