建了一张 book(图书)表 字段名称 类型 备注
id int 图书编号(主键)
ISBN varchar(30) ISBN
name varchar(50) 图书名称(不可为空)
kind_num int 图书类型编号
author varchar(32) 作者
price money 价格
pub varchar(100) 出版社
brief varchar(100) 图书简介请问如何写一个触发器实现id的自动编号 谢谢了
id int 图书编号(主键)
ISBN varchar(30) ISBN
name varchar(50) 图书名称(不可为空)
kind_num int 图书类型编号
author varchar(32) 作者
price money 价格
pub varchar(100) 出版社
brief varchar(100) 图书简介请问如何写一个触发器实现id的自动编号 谢谢了
解决方案 »
- 求解释一条sql语句delete from #data_rp_teledata where type<>2
- SQL server语句中有没有用来运算二进制的语法呢
- 问下怎么不读取datetime类型 的 小时 分种 秒 的值呀
- 求一个存储过程
- 列转后连接其它表 在线等!!!! 求高手解决!!!
- 关于类似重复数据查询的问题
- SQL 2000中,新建 SQL Server 注册,均失败,还删不掉,请问正确的注册方法?
- 菜问!!关于sql server连接的问题??????????????
- 临时表的可见性问题?
- 在select语句查询时重命名列名
- 关系数据库的问题
- 查询处理过程中的磁盘活动统计信息。
CREATE TABLE [dbo].[book](
id int identity(1,1),
ISBN varchar(30),
name varchar(50) not null,
kind_num int,
author varchar(32),
price money,
pub varchar(100),
brief varchar(100)
CONSTRAINT [PK_book] PRIMARY KEY CLUSTERED
(
[id] ASC
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
) ON [PRIMARY]
GO
CONSTRAINT [PK_book] PRIMARY KEY CLUSTERED
(
[id] ASC
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
) ON [PRIMARY]
GO 这段语句是什么意思 谢谢了
CREATE TRIGGER TR FOR INSERT
AS
DECLARE @MAXID INT
DECLARE @ISBN VARCHAR(30)
SELECT @MAXID = MAX(ID) FROM BOOK
UPDATE B SET ID = @MAXID + 1 FROM BOOK B
WHERE ISBN = @ISBN
GO
CREATE TRIGGER TR FOR INSERT
AS
DECLARE @MAXID INT
DECLARE @ISBN VARCHAR(30)
SELECT @MAXID = MAX(ID) FROM BOOK
SELECT @ISBN = ISBN FROM INSERTED
UPDATE B SET ID = @MAXID + 1 FROM BOOK B
WHERE ISBN = @ISBN
GO
为什么选择的是ISBN?
这句是创建主键,不用管它.
关键是:
id int identity(1,1),
它创建了一个标识列,以1开始,每行自动增加1.
为什么你写的那么复杂的?