SQLServer 中表的自增长列
1.建表(Create table)时使用 IDENTITY (SEED,INCREMENT)
其中SEED是起始值,INCREMENT是增量。
例:
CREATE TABLE mytable1
(
[user_id] BIGINT NOT NULL
IDENTITY(1, 1) ,
[user_mail] NVARCHAR(255)
)
命令已成功完成。
2.修改表(Alter table)列的自增长
SQLServer不允许修改已经存储的自增长列,但是可以为一个没有自增长标识列的表添加自增长列
例:
DROP TABLE mytable1 -- 删除刚才创建的表
CREATE TABLE mytable1
(
[user_mail] NVARCHAR(255)
)
ALTER TABLE mytable1 ADD [user_id] BIGINT IDENTITY(1,1)
命令已成功完成。
3.手动插入自增长字段的值
例:
SET IDENTITY_INSERT mytable1 ON -- 开启 手动
INSERT INTO mytable1
( [user_id], [user_mail] )
VALUES ( 10, N'oyi319@email.com' )
SET IDENTITY_INSERT mytable1 OFF -- 关闭 手动
(1 行受影响)
4.更改当前SEED值
a.用DBCC CHECKIDENT重新设置表的标识列的值
例:
DBCC CHECKIDENT(mytable1, RESEED, 4)
检查标识信息: 当前标识值 '10',当前列值 '4'。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
b.不重设当前值,只是查看当前值的报告
例:
DBCC CHECKIDENT(mytable1, NORESEED)
检查标识信息: 当前标识值 '4',当前列值 '10'。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
相关文档:
*** author:Susan
*** date:2005/08/05
*** expliation:如何寫存儲過程的格式及例子,有游標的用法!
*** 本版:SQL SERVER 版!
******************************************************/
在存儲過程中的格式規格:
CREATE PROCEDURE XXX
/*
列舉傳入 ......
方式一:
select top 200 * from view_OrganResource
where 1=1 and OrganID = 57 and
(OrderID not in(select top 1000 OrderID from tb_OrganResource
where 1=1 and OrganID = 57 order by uploadtime desc))
order by uploadtime desc --5858 1980
方式二:
select top 200 * from
vi ......
/*
*SQLServer添加操作实现
*/
void CMFCSQLDlg::OnButton2()
{
// TODO: Add your control notification handler code here
CString strsql;
CString strnum="mynum3";
CString strage="myage3";
HRESULT hResult;
_variant_t RecordsAffected;
CoInitialize(NULL);
_ConnectionPtr m_pAppConn;
hResul ......
Access、SQLServer、Oracle常见SQL语句应用区别
关劲松 PMP
如果要兼容Access、SQL Server、Oracle三个数据库版本;我们在编写SQL语句的过程中,尽量使用一些通用的语句,但还是有些方面有些区别避免不了,现简单总结一下。
以下A代表Access,S代表SQL Server,O代表Oracle
1、取当前系统时间
A:Select Now()
S:Selec ......
1
.绝对值
S:
select
abs
(
-
1
) value
O:
select
abs
(
-
1
) value
from
dual
2
.取整(大)
S:
select
ceiling
(
-
1.001
) value
O:
select
ceil(
-
1.001
) value
from
d ......