请教一个存储过程的基础问题(初学者)~
我写了如下的存储过程:
CREATE PROC ADD_DATA_CLASS
@c_name varchar,
@c_ID char,
@c_TE varchar,
@c_time datetime,
@c_week int,
@c_semester int
as
begin
insert into CLASSINF(Cname,CTIME,Cweek,Csemester)
values(@c_name,@c_time,@c_week,@c_semester)
insert into CLASS(CLID,CLname,CLTE)
values(@c_name,@c_ID,@c_TE)
commit transaction
end
编译通过,但是执行没有通过,有如下的提示信息:
服务器: 消息 2627,级别 14,状态 1,过程 ADD_DATA_CLASS,行 10
违反了 PRIMARY KEY 约束 'PK__CLASSINF__2A4B4B5E'。不能在对象 'CLASSINF' 中插入重复键。
语句已终止。
服务器: 消息 547,级别 16,状态 1,过程 ADD_DATA_CLASS,行 12
INSERT 语句与 COLUMN FOREIGN KEY 约束 'FK__CLASS__CLname__32E0915F' 冲突。该冲突发生于数据库 'isomer',表 'CLASSINF', column 'Cname'。
语句已终止。
服务器: 消息 3902,级别 16,状态 1,过程 ADD_DATA_CLASS,行 14
COMMIT TRANSACTION 请求没有对应的 BEGIN TRANSACTION。
我不明白是为什么,请高手赐教!