当前位置:首页 » 编程语言 » sql中自动编码
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql中自动编码

发布时间: 2022-06-06 07:59:56

sql 怎么设置自动编号列

如果不在外部处理的话,可以考虑使用触发器,但是会再增加一列,作为存储varchar,呵呵,随便想的, --测试环境,包括楼上的方法,但是测试的楼上的方法,好像不太灵验。
create table tableb
(id int not null identity(0000001,1),
n int ,
p varchar(10)
)--插入数据insert into tableb (n) values (2)
select * from tableb--触发器CREATE TRIGGER tg_a
ON tableb
AFTER INSERT
AS
begin
update tableb set p=right(cast((10000000000+tableb.id) as varchar(20)),10) from inserted where tableb.id=inserted.id
end

Ⅱ SQL 自定义的自动编号求助

查询时加序号
a:没有主键的情形:

Select identity(int,1,1) as iid,* into #tmp from TableName
Select * from #tmp
Drop table #tmp

b:有主键的情形:

Select (Select sum(1) from TableName where KeyField <= a.KeyField) as iid,* from TableName a

eg:
select (select sum(1) from user_Admin where id<=a.id) as ID,id,displayName from user_Admin a order by a.ID asc

结果:

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

USE 北风贸易;
GO

/* 方法一*/

SELECT 序号= (SELECT COUNT(客户编号) FROM 客户 AS LiMing
WHERE LiMing.客户编号<= Chang.客户编号),
客户编号, 公司名称
FROM 客户 AS Chang ORDER BY 1;
GO

/* 方法二: 使用SQL Server 2005 独有的RANK() OVER () 语法*/
SELECT RANK() OVER (ORDER BY 客户编号 DESC) AS 序号,
客户编号, 公司名称
FROM 客户;
GO

/* 方法三*/
SELECT 序号= COUNT(*), LiMing.客户编号, LiMing.公司名称
FROM 客户 AS LiMing, 客户AS Chang
WHERE LiMing.客户编号>= Chang.客户编号
GROUP BY LiMing.客户编号, LiMing.公司名称
ORDER BY 序号;
GO

/* 方法四
建立一个“自动编号”的字段,然后将数据新增至一个区域性暂存数据表,
然后由该区域性暂存数据表中,将数据选取出来,最后删除该区域性暂存数据表
*/
SELECT 序号= IDENTITY(INT,1,1), 管道, 程序语言, 讲师, 资历
INTO #LiMing
FROM 问券调查一;
GO
SELECT * FROM #LiMing;
GO
DROP TABLE #LiMing;
GO

/*
方法五
使用 SQL Server 2005 独有的ROW_NUMBER() OVER () 语法
搭配 CTE (一般数据表表达式,就是 WITH 那段语法)选取序号2 ~ 4 的数据
*/
WITH 排序后的图书 AS
(SELECT ROW_NUMBER() OVER (ORDER BY 客户编号 DESC) AS 序号,
客户编号, 公司名称
FROM 客户)
SELECT * FROM 排序后的图书
WHERE 序号 BETWEEN 2 AND 4;
GO

------------分页使用---------------------------
SELECT RANK() OVER (ORDER BY id asc) AS no,* into #temp
FROM Bbs_reply select * from #temp where no between 1 and 100 drop table #temp

Ⅲ sql数据库自动编号

楼上的删除一个id的时候是可以的,要是连续删除几个就over了。用rowid可以啊
select
rownum
as
id,列名
from
表名
ok了!

Ⅳ SQl数据库自动编号(连续)

假如你的原来的表tb有
id,name,address三列
其中id是自动增长列,
删除其中若干行以后,
你可以这样啊
创建存储过程
create proc getTempTable
as
begin
declare @temp table
(
id int identity(1,1),
name varchar(20),
address varchar(20)
)
insert @temp
select name, address from tb

select * from @temp
end
这样你就可以得到一个ID连续的新表了

Ⅳ sql数据库建表时如何实现自动编号

可以有两种办法啦:1.在企业管理器里面建:这种方法很简单点击选中的数据库右键新建即可相信你应该会不多说了。2.在查询分析器里建:基本思路要建表,表是要在库里建的所以你要先引用你要使用的数据库加进来再开始建表,以下为一个简单实例;create
database
student
--创建一个student数据库由于这里主要说建表所以建一个简单的数据库use
student
--引用数据库studentcreate
table
test(
--创建一个test表name
varchar(20)
primary
key
indentity(1,1),--列名(字段名)
数据类型
在此加主键约束就不用加非空约束
再加上自动增长列(含义从1开始增长增长量是1)password
varchar(10)
not
null
--注意建表最后一个字段名时结尾不要加逗号否则会出错)

Ⅵ 如何在SQL中设置自动编号

  1. 在数据库管理系统中(sql server)中,使用设计表,把标识改成'是'

  2. 通过语句

    create table aaa

    (id int IDENTITY(1,1) not null,

    a char(10)

    )

Ⅶ SQL数据库列自动生成编号

两种方法:

1、用Truncate

TRUNCATETABLEname可以删除表内所有值并重置标识值

2、用DBCC CHECKIDENT

DBCCCHECKIDENT('table_name',RESEED,new_reseed_value)如dbcc checkident ("bc_pos",reseed,1)即可,

但如果表内有数据,则重设的值如果小于最大值可能会有问题,这时可以用 dbcc checkident("bc_pos",reseed)即可自动重设值。

注意:

只能为不允许空值且数据类型为 decimal、int、numeric、smallint、bigint 或 tinyint 的列设置标识属性。此外,不能为主键列设置标识属性。

(7)sql中自动编码扩展阅读:

关于上述标识列的引用

如果在SQL语句中引用标识列,可用关键字IDENTITYCOL代替,例如,若要查询上例中ID等于1的行,

以下两条查询语句是等价的:

1、SELECT * FROM T_test WHERE IDENTITYCOL=1

2、SELECT * FROM T_test WHERE

Ⅷ 关于SQL自动编号

在企业管理器中建表:
用企业管理器打开表后选择修改字段→把下面字段属性的【标识】选项选择为【是】→如果需要定义【初始值(标识种子)】和【每次递增值(标识递增量)】的话定义一下就可以了
直接用sql建表
create
table
表名(
字段名1
int
identity(1,1)
--这是从【一】开始每次自动加【一】的自动编号
字段名2
int
identity(1,2)
--这是从【一】开始每次自动加【二】的自动编号
字段名3
int
identity(2,2)
--这是从【二】开始每次自动加【二】的自动编号
)
---
以上,希望对你有所帮助。

Ⅸ sql server根据不同类型自动编号

这种要使用存储过程实现,不容的产品类型,查出当前最大,然后加1后format就可以了。

Ⅹ SQL的主键如何自动编号

1:查询分析器操作
ALTER TABLE 123
ADD
CONSTRAINT PK_BH
PRIMARY KEY 编号
2:企业管理器
右键单击表123--选择'设计表'--打开表设计器--选中'编号'右键单击--'设置主键'
会在编号上显示一把钥匙
设置成功

"设置主键 "后选中"数据类型"把它的"标识"值设置为'是',你可以自己定义'种子'和'增量'
种子=初始值
增量=每一条记录增加的数值,
如种子设置为1,增量也是1,那么记录1=1 记录2=2
如种子设置为4,增量也是2,那么记录1=4,记录2=6