㈠ sql server 2008 插入数据 自动生成编号
如果integralID是自增长,那你就不用理会这个字段,你只需要插入后边几个字段的值就可以了。你要插入的3000+如果是存储在另外的表的话,你就可以这么写 insert into integrals(uid,integraltype,integraldate,integralnum,createtime,delflag) select ID,TYPE,
'2015-07-31','-300',NUM,FLAG from 那张表。ID,TYPE,NUM,FLAG是你另外一张表的字段名。如果是程序当中处理的,那么你插入的时候把VALUE值写进去就可以了。
㈡ 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自动生成序号和分序号
需要用row_number来给分组添加序号。
1、创建测试表,插入数据:
createtabletest(sidint,snamevarchar(20),sclassvarchar(20),scoreint);insertintotestvalues(1,'张三','一年一班',100)insertintotestvalues(2,'李四','一年一班',78)insertintotestvalues(3,'王五','一年一班',67)insertintotestvalues(4,'赵六','一年一班',87)insertintotestvalues(5,'badkano','一年二班',98)insertintotestvalues(6,'网络知道团长','一年二班',99)insertintotestvalues(7,'小小动','一年二班',99)insertintotestvalues(8,'刘备','一年三班',56)insertintotestvalues(9,'张飞','一年三班',67)insertintotestvalues(10,'关羽','一年三班',76)2、要求按照班级总分给出班级排名(即序号),执行语句:
selectrow_number()over(orderbyscoredesc)排名,sclass班级,score总分from(selectsclass,SUM(score)scorefromtestgroupbysclass)t3、查询结果:
㈣ sql数据库建表时如何实现自动编号
Oracle
不直接支持 自动递增的列。
需要创建一个序列 SEQUENCE。
又由于无法在列的默认值那里,设置默认值为序列。因此只能通过触发器橘哪来设置。
SQL> CREATE SEQUENCE test_sequence2
2 increment by 1 -- 每次递增1
3 start with 1 -- 从1开始
4 nomaxvalue -- 没有最大值
5 minvalue 1 -- 最小圆帆码值=1
6 NOCYCLE; -- 不循环
Sequence created.
SQL> CREATE TABLE test_create_tab2 (
2 id INT,
3 val VARCHAR(10),
4 PRIMARY KEY (id)
5 );
Table created.
SQL> CREATE OR REPLACE TRIGGER BeforeTestCreate2Insert
2 BEFORE INSERT ON test_create_tab2
3 FOR EACH ROW
4 BEGIN
5 SELECT test_sequence2.nextval INTO :new.id FROM al;
6 END;
7 /
Trigger created
SQL Server
通过 IDENTITY 来设置
参数有2个,一个是“初始值”轿迹 一个是“增量”。
1> CREATE TABLE test_create_tab2 (
2> id INT IDENTITY(1, 1) PRIMARY KEY,
3> val VARCHAR(10)
4> );
5> go
MySQL
通过
AUTO_INCREMENT设置
mysql> CREATE TABLE test_create_tab2 (
-> id INT AUTO_INCREMENT,
-> val VARCHAR(10),
-> PRIMARY KEY (id)
-> );
Query OK, 0 rows affected (0.09 sec)
㈤ 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 的列设置标识属性。此外,不能为主键列设置标识属性。
(5)sql插入数据自动编号扩展阅读:
关于上述标识列的引用
如果在SQL语句中引用标识列,可用关键字IDENTITYCOL代替,例如,若要查询上例中ID等于1的行,
以下两条查询语句是等价的:
1、SELECT * FROM T_test WHERE IDENTITYCOL=1
2、SELECT * FROM T_test WHERE
㈥ 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 server 2008怎么自动编号
注意:只能为不允许空值且数据类型为 decimal、int、numeric、smallint、bigint 或 tinyint 的列设置标识属性。此外,不能为主键列设置标识属性。
一。通过SQL管理工具修改列的标识属性
1.在对象资源管理器中,右键单击要更改其数据类型的列所在的表,再单击“修改”。此时,将在表设计器中打开该表。
2.清除要更改的列的“允许空”复选框。
3.在“列属性”选项卡中,展开“标识规范”属性。
4.单击“是标识”子属性的网格单元格,然后从下拉列表中选择“是”。
5.在“标识种子”单元格中键入值。此值将赋给表中的第一行。默认情况下将赋值 1。
6.在“标识增量”单元格中键入值。此值是基于“标识种子”依次为每个后续行增加的增量。默认情况下将赋值 1。
二。SQL语句来创建
创建表时指定自动编号的字段
CREATE TABLE [dbo].[UserInfor](
[UserID] [int] IDENTITY(100,2) NOT NULL, --此处可指定开始值及每次增长步长
[UserName] [nchar](10) NOT NULL, )