孤魂居士 发表于 2007-12-13 13:06

初学SQL求救问题

今天上机,用查询分析器创建触发器
我自己创建了个叫“学习”的数据库
在这数据库中创建了个表叫“课程表”,
在这表中我创建触发器
我向表中增加课程,每增加以个课程
触发器就提示:[color=Red]增加了一门课程:高数 [/color]
假如我再向表里增加课程英语
触发器就提示:[color=Red]增加了一门课程:英语 [/color]
这触发器SQL命令怎么写啊 ?
大哥门帮助下

purana 发表于 2007-12-13 13:08

从你的描述来看..你都已经创建了..还有什么问题呢?.

purana 发表于 2007-12-13 13:11

create trigger tr on 课程表
for insert
as
    declare @c nvarchar(20)
    select @c=课程名 from inserted
    print "新增课程名:"+@c
go

孤魂居士 发表于 2007-12-13 13:27

这是我自己写的 还是不能显示
/*触发器*/
create trigger AAA on 课程表
for insert
as
declare @name char(10)
print @name
print'又增加了一门课程'


/*增加一门课程*/
insert 课程表
values ('语文','星期5','6教室','4','刘老师')
declare @name char(10)
set @name='语文'

purana 发表于 2007-12-13 13:30

create trigger tr on 课程表
for insert
as
    declare @c nvarchar(20)
    select @c=课程名 from inserted
    print "新增课程名:"+@c
go

孤魂居士 发表于 2007-12-13 13:30

3楼版主
我用你的执行出错




服务器: 消息 128,级别 15,状态 1,过程 tr,行 6
在此上下文中不允许使用 '新增课程名:'。此处只允许使用常量、表达式或变量。不允许使用列名。

孤魂居士 发表于 2007-12-13 13:35

[em02]  出错

purana 发表于 2007-12-13 13:44

create trigger tr on 课程表
for insert
as
    declare @c nvarchar(20)
    select @c=课程名 from inserted
    print '新增课程名:'+@c
go

孤魂居士 发表于 2007-12-15 01:03

[em04] 版主啊
还是不行啊 出现错误
服务器: 消息 207,级别 16,状态 3,过程 tr,行 5
列名 '课程名' 无效。

孤魂居士 发表于 2007-12-15 01:09

课程表如下

[img]C:\Documents and Settings\Administrator\桌面\QQ截图未命名.bmp[/img]

孤魂居士 发表于 2007-12-15 01:10

数据结构          星期5                                 7教室                                                     4        刘老师   
英语              星期3                                 18教室                                                    4        李老师   
数据库            星期4                                 26教室                                                    4        朱老师   
微机              星期1                                 7教室                                                     4        张老师   
网络安全          星期2                                 7教室                                                     4        张老师   
计算机维护        星期3下午                             7教室                                                     4        刘老师   
语文              星期5                                 6教室                                                     4        刘老师   
语文              星期5                                 6教室                                                     4        刘老师   
语文              星期5                                 6教室                                                     4        刘老师   
语文              星期5                                 6教室                                                     4        刘老师   
语文              星期5                                 6教室                                                     4        刘老师   
语文              星期5                                 6教室                                                     4        刘老师   
语文              星期5                                 6教室                                                     4        刘老师   
语文              星期5                                 6教室                                                     4        刘老师

孤魂居士 发表于 2007-12-15 01:11

列名:
课程名称 时间 地点 节次 老师

孤魂居士 发表于 2007-12-15 12:33

[qq]272777197[/qq]

孤魂居士 发表于 2007-12-15 12:34

[img]C:\Documents and Settings\Administrator\桌面\QQ截图未命名.GIF[/img]

purana 发表于 2007-12-15 15:01

列名"课程名"无效.你就不会改改列名?..硬是一乘不变地照搬?.

baijian710 发表于 2007-12-17 17:17

你是不是在两个表之间建立外键约束了呢

孤魂居士 发表于 2007-12-18 02:18

[quote]原帖由 [bold][underline]purana[/underline][/bold] 于 2007-12-15 15:01 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1149115&ptid=192215][img]http://bbs.bc-cn.net/images/common/back.gif[/img][/url]
列名"课程名"无效.你就不会改改列名?..硬是一乘不变地照搬?. [/quote]
版主说的是

页: [1]

编程论坛