sql数据库中同一字段怎么添加多个外键约束呀具体如图 谢谢大神啦

sql数据库中同一字段怎么添加多个外键约束呀具体如图 谢谢大神啦,第1张

多个字段为外键,如下所示,成绩表中学号和课程编号是外键,分别和学生表和课程表连接,代码如下:

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对已经建好的数据库如何添加键约束、如何给数据库中表的字段添加约束使该字段不存在单引号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9309112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存