如果每次要更新多行,那必须还要有一个唯一索引来定位要修改的记录,比如为Col_Uq,那可以如下写触发器:
create
trigger
tri_update_tb_1_pk
on
tb_1
for
update
as
if
not
update(col_pk)
return
update
tb_2
set
col_pk=icol_pk
from
tb_2,inserted
i,deleted
d
where
tb_2col_pk=dcol_pk
and
iCol_Uq=dCol_Uq
go
如果保证每次只更新一行,那可以如下写触发器:
create
trigger
tri_update_tb_1_pk
on
tb_1
for
update
as
if
not
update(col_pk)
return
if
(select
count()
from
inserted)>
1
return
update
tb_2
set
col_pk=icol_pk
from
tb_2,inserted
i,deleted
d
where
tb_2col_pk=dcol_pk
go
你的问题没有问明确啊
如果你是在编写vb程序的时候新建数据库的话,那么:
1代码新建空数据库
2代码新建一个数据表如“成绩单”,并设置其中姓名为主键,则SQL代码如下:
CREATE TABLE [成绩单]([姓名] int identity primary key '这里“姓名”被设置为主键。
如果你是直接打开数据库设置主键的话,那么:
你用“使用设计器创建表”完毕,在要设置为主键的名称(如姓名)左侧右键单击后出来的菜单内有“主键”二字,点击“主键”即可完成,如下图所示:
你是要怎么修改主键?是修改主键的内容,还是要修改主键的列?
1 如果是修改主键的内容,你要先查看该主键有没有作为外键,如果有,那要先删除子表里面的对应的内容然后再修改(当然你可以先把这个记录保存下来,这些都只是增删改查语句的拼接,具体代码就不写了)。
2 如果是修改主键列,你可以参考下>
以上就是关于sqlserver数据库修改主键类型全部的内容,包括:sqlserver数据库修改主键类型、在新建数据库(Access)中,如何设置主键、如何通过存储过程对数据库表中的主键进行修改等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)