请问如何用SQL语句设置字段的IDENETITY属性?
因为平时这种操作比较多,直接在数据库上手动设置危险性较大,所以想用SQL语句实现。
在网上实在搜不到结果,这里高手多,希望能得到答案。
谢谢。
你想怎麼設置?
SQL code:
--创建测试表
CREATE TABLE t1(ID int IDENTITY,A int)
GO
--插入记录
INSERT t1 VALUES(1)
GO
--1. 将IDENTITY(标识)列变为普通列
ALTER TABLE t1 ADD ID_temp int
GO
UPDATE t1 SET ID_temp=ID
ALTER TABLE t1 DROP COLUMN ID
EXEC sp_rename N't1.ID_temp',N'ID',N'COLUMN'
INSERT t1 VALUES(100,9)
GO
--2. 将普通列变为标识列
CREATE TABLE t1_temp(ID int,A int IDENTITY)
SET IDENTITY_INSERT t1_temp ON
INSERT t1_temp(ID,A) SELECT * from t1
SET IDENTITY_INSERT t1_temp OFF
DROP TABLE T1
GO
EXEC sp_rename N't1_temp',N't1'
INSERT t1 VALUES(109999)
GO
--显示处理结果
SELECT * from t1
/*--结果:
ID A
----------------- -----------
1 1
100 9
109999 10
--*/
SQL code:
ALTER TABLE 表名 ALTER COLUMN 字段名 IDENTITY(1,1)
SQL code:
ALTER TABLE 表名 ALTER COLUMN 字段名 int IDENTITY(1,1)
草根兄,你的SQL好像有语法问题,执行出错。。。
Tony
相关问答:
DateTime startTime=DateTime(em_1.Text)
DateTime endTime=DateTime(em_2.Text)
string sql
sql = dw_1.GetSQLSelect()+"Where (StartTime> '"+startTime+"') and (EndTime ......
我数据库是MSSQL的,昨天所有的表被注入JS脚本代码,有个不明白的地方来问问大家
我发现有些表我根本没使用,也没有入库的ASP页面和语句,它是咱个注入的呢?
貌似select语句是可以嵌套的吧?
可能是where ......
sql可以有两个以上的触发器吗??我指的是for触发器,那其他的呢??
什么意思?
可以的
10个都没问题
可是我写了两个for insert 触发器,造成进程阻塞了呢?怎么办呢?请高人指点
......