多个字段为外键,如下所示,成绩表中学号和课程编号是外键,分别和学生表和课程表连接,代码如下:
create
table
成绩表
(学号
varchar(20)
not
null
constraint
fk_学号
foreign
key
references
学生表(学号),
课程编号
varchar(20)
not
null
constraint
fk_课程编号
foreign
key
references
课程表(课程编号)
constraint
pk_学号_课程编号
primary
key
clustered(学号,课程编号),
成绩
real
null
)
alter table table_name add constraint fk_column_id foreign key(column) references 主键表 (column_id);
给这个表添加一个触发器,触发器类型为插入和更新事务的(inserted|updated),
Create Trigger 触发器名
On 表
For {insert,update}
As
Begin
SQL语句块
End
SQL语句块的基本思想是:
用charindex()函数检查字段里是否包含单引号('),若包含,则事务回滚(rollback),并提示(print……);若不包含,则提交事务(commit)。
比如insert事务:
If(select charindex("'",字段) From 表,inserted
Where 表字段编号=inserted字段编号) > 0
Begin
Rollback
Print “要显示的提示”
End
Else
commit
只是粗略写了一下,完整结构你自己丰富一下吧
创建SQL的主键和外键约束的方法:--在创建表时就可以对字段加上约束:
create table Buy(buyo int PRIMARY KEY, username varchar(20) FOREIGN KEY REFERENCES Users(username) NOT NULL, goodsno char(5) FOREIGN KEY REFERENCES Goods(goodsno) NOT NULL, quantity int CHECK(quantity >0 ) , buydate DATETIME)
alter table s add constraint CK_sex CHECK(sex='m'&&age<23) or CHECK(sex='f'&&age<23)
首先需要保证需要改为主键的列的已存在的值不能有空或者重复的,比如修改sno表的stu为主键的代码为:
Alter table sno alter column stu char(6) not null;
Alter table sno add constraint pk_stu primary key (stu)。
sql 语句就是对数据库进行 *** 作的一种语言,结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
以上就是关于sql数据库中同一字段怎么添加多个外键约束呀 具体如图 谢谢大神啦全部的内容,包括:sql数据库中同一字段怎么添加多个外键约束呀 具体如图 谢谢大神啦、mysql对已经建好的数据库如何添加键约束、如何给数据库中表的字段添加约束使该字段不存在单引号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)