!数据库里的primary key(sid,cid)是什么意思

!数据库里的primary key(sid,cid)是什么意思,第1张

sid

引用的是student表里面的id,取名sid是方便记忆,可以随便取

cid一样,应用的是是course的id,

都是取了表名第一个字母做前缀方便知道哪个id引用的哪个主键,没什么实际意义

1、首先打开安装的SQL数据库

2、在打开的数据库页面左侧的菜单中,点击打开“数据库”;

3、右键需要查询标识ID的数据库,选择“新建查询”;

4、然后在右侧页面内输入“select+空格+数据库名字”;

5、然后点击右上角的“执行”;

6、在数据库的最下面所得到的查询结果就是查询的标识ID号。

--下面的代码生成长度为8的编号,编号以BH开头,其余6位为流水号。并且保证流水号的连续性

--得到新编号的函数

CREATE FUNCTION f_NextBH()

RETURNS char(8)

AS

BEGIN

RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK))

END

GO

--在表中应用函数

CREATE TABLE tb(

BH char(8) PRIMARY KEY DEFAULT dbof_NextBH(),

col int)

--插入资料

BEGIN TRAN

INSERT tb(col) VALUES(1)

INSERT tb(col) VALUES(2)

INSERT tb(col) VALUES(3)

DELETE tb WHERE col=3

INSERT tb(col) VALUES(4)

INSERT tb(BH,col) VALUES(dbof_NextBH(),14)

COMMIT TRAN

--显示结果

SELECT FROM tb

/--结果

BH col

---------------- -----------

BH000001 1

BH000002 2

BH000003 4

BH000004 14

--/ --另一种方法--种子表 num_tb

if object_id('num_tb') is not null

drop table num_tb

go

create table num_tb(d datetime,id int)

insert num_tb select getdate(),1

if object_id('tb') is not null

drop table tb

go

create table tb(id varchar(20),name varchar(10))

create clustered index idx_clu_tb on tb(id)

go

create trigger tri_tb on tb INSTEAD OF INSERT

as

begin

set nocount on

declare @i int,@id varchar(20),@j int

select @i=count() from inserted

begin tran

update num_tb with(TABLOCKX) set

id=(case when convert(char(8),d,112)=convert(char(8),getdate(),112)

then id+@i else @i end),

@j=(case when convert(char(8),d,112)=convert(char(8),getdate(),112) then id else 0 end),

d=getdate()

commit tran

select into #t from inserted

update #t set id=convert(varchar(8),getdate(),112)+right('00000'+rtrim(@j),5),@j=@j+1

insert tb select from #t

end

go

--插入记录测试

insert into tb(name) values('张三')

insert into tb(name) values('李四')

select from tb

/

id name

-------------------- ----------

2010012700002 张三

2010012700003 李四

/

insert into tb select '2010012700003','王五'

/

id name

-------------------- ----------

2010012700002 张三

2010012700003 李四

2010012700004 王五

/

以上就是关于!数据库里的primary key(sid,cid)是什么意思全部的内容,包括:!数据库里的primary key(sid,cid)是什么意思、SQL怎么查询每个数据库的标识ID号、在sql中,有没有办法让ID是由字母和数字组成,并且数字可以自动增长等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9477616.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存