- 浏览: 728079 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (442)
- 中间件 (20)
- hibernate (13)
- spring (20)
- 数据库 (78)
- struts (8)
- ibatis (4)
- 前端 (61)
- linux,windows (21)
- it大环境 (32)
- IDE工具 (36)
- 感悟 (6)
- java基础 (40)
- 经典面试题 (10)
- exception总结 (14)
- 软件设计 (8)
- 工具类应用及新技术 (48)
- php (2)
- 微信 (1)
- 设计模式 (2)
- 重构 (3)
- 管理 (2)
- 工作笔记 (1)
- jmx (1)
- 算法 (4)
- 多线程同步 (2)
- 代码管理工具 (5)
- 代码检测及测试 (2)
- 缓存服务 (1)
- SOA及ROA (5)
- groovy (1)
- 网络编程 (2)
- 大数据 (6)
最新评论
-
love398146779:
我当然不能全写上面了,这只是其中一部分https连接。
java 建立 https连接 -
yuenkin:
大哥,这是双向认证吗?
java 建立 https连接 -
issu:
例如以下代码能遍历字符串"Tom:M ...
<c:forTokens>标签delims截取字符 -
love398146779:
2*3*5=30,是30个以上的请求才拒绝呀。
tomcat的maxThreads、acceptCount(最大线程数、最大排队数) -
love398146779:
2台跟1台一样的效果。
zookeeper与activemq最新存储replicatedLevelDB整合
想要将值插入到自动编号(或者说是标识列,IDENTITY)中去,需要设定 SET IDENTITY_INSERT
示例:
1.首先建立一个有标识列的表:
CREATE TABLE products (id int IDENTITY PRIMARY KEY, product varchar(40))
2.尝试在表中做以下操作:
INSERT INTO products (id, product) VALUES(3, 'garden shovel')
结果会导致错误:“当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'products' 中的标识列插入显式值。”
3.改用:
SET IDENTITY_INSERT products ON
INSERT INTO products (id, product) VALUES(1, 'garden shovel')
返回正确。
4.建立另外一个表products2,尝试相同插入操作:
CREATE TABLE products2 (id int IDENTITY PRIMARY KEY, product varchar(40))
然后执行:
SET IDENTITY_INSERT products2 ON
INSERT INTO products2 (id, product) VALUES(1, 'garden shovel')
导致错误:“表 'material.dbo.products' 的 IDENTITY_INSERT 已经为 ON。无法对表 'products2' 执行 SET 操作。”
改为执行:
SET IDENTITY_INSERT products OFF
SET IDENTITY_INSERT products2 ON
INSERT INTO products2 (id, product) VALUES(2, 'garden shovel')
执行通过。
5.尝试以下操作:
SET IDENTITY_INSERT products2 ON
INSERT INTO products2 SELECT * FROM products
导致错误:“仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'products2' 中为标识列指定显式值。”
6.改为:
SET IDENTITY_INSERT products2 ON
INSERT INTO products2 (id, product) SELECT * FROM products
执行通过。
总结:
1.每一次连接会话中的任一时刻,只能对一个表设置IDENTITY_INSERT ON,且设置只对当前会话有效;
2.在对标识列执行插入操作进,一定要列出此标识列(当然,同时也就需要列出相关的其他列了)。
附:
SQL Server帮助文档相关内容
SET IDENTITY_INSERT
允许将显式值插入表的标识列中。
语法
SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }
参数
database
是指定的表所驻留的数据库名称。
owner
是表所有者的名称。
table
是含有标识列的表名。
注释
任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则 Microsoft® SQL Server™ 返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表。
如果插入值大于表的当前标识值,则 SQL Server 自动将新插入值作为当前标识值使用。
SET IDENTITY_INSERT 的设置是在执行或运行时设置,而不是在分析时设置。
权限
执行权限默认授予 sysadmin 固定服务器角色和 db_owner 及 db_ddladmin 固定数据库角色以及对象所有者。
示例
下例创建一个含有标识列的表,并显示如何使用 SET IDENTITY_INSERT 设置填充由 DELETE 语句导致的标识值中的空隙。
-- Create products table.
CREATE TABLE products (id int IDENTITY PRIMARY KEY, product varchar(40))
GO
-- Inserting values into products table.
INSERT INTO products (product) VALUES ('screwdriver')
INSERT INTO products (product) VALUES ('hammer')
INSERT INTO products (product) VALUES ('saw')
INSERT INTO products (product) VALUES ('shovel')
GO
-- Create a gap in the identity values.
DELETE products
WHERE product = 'saw'
GO
SELECT *
FROM products
GO
-- Attempt to insert an explicit ID value of 3;
-- should return a warning.
INSERT INTO products (id, product) VALUES(3, 'garden shovel')
GO
-- SET IDENTITY_INSERT to ON.
SET IDENTITY_INSERT products ON
GO
-- Attempt to insert an explicit ID value of 3
INSERT INTO products (id, product) VALUES(3, 'garden shovel').
GO
SELECT *
FROM products
GO
-- Drop products table.
DROP TABLE products
GO
示例:
1.首先建立一个有标识列的表:
CREATE TABLE products (id int IDENTITY PRIMARY KEY, product varchar(40))
2.尝试在表中做以下操作:
INSERT INTO products (id, product) VALUES(3, 'garden shovel')
结果会导致错误:“当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'products' 中的标识列插入显式值。”
3.改用:
SET IDENTITY_INSERT products ON
INSERT INTO products (id, product) VALUES(1, 'garden shovel')
返回正确。
4.建立另外一个表products2,尝试相同插入操作:
CREATE TABLE products2 (id int IDENTITY PRIMARY KEY, product varchar(40))
然后执行:
SET IDENTITY_INSERT products2 ON
INSERT INTO products2 (id, product) VALUES(1, 'garden shovel')
导致错误:“表 'material.dbo.products' 的 IDENTITY_INSERT 已经为 ON。无法对表 'products2' 执行 SET 操作。”
改为执行:
SET IDENTITY_INSERT products OFF
SET IDENTITY_INSERT products2 ON
INSERT INTO products2 (id, product) VALUES(2, 'garden shovel')
执行通过。
5.尝试以下操作:
SET IDENTITY_INSERT products2 ON
INSERT INTO products2 SELECT * FROM products
导致错误:“仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'products2' 中为标识列指定显式值。”
6.改为:
SET IDENTITY_INSERT products2 ON
INSERT INTO products2 (id, product) SELECT * FROM products
执行通过。
总结:
1.每一次连接会话中的任一时刻,只能对一个表设置IDENTITY_INSERT ON,且设置只对当前会话有效;
2.在对标识列执行插入操作进,一定要列出此标识列(当然,同时也就需要列出相关的其他列了)。
附:
SQL Server帮助文档相关内容
SET IDENTITY_INSERT
允许将显式值插入表的标识列中。
语法
SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }
参数
database
是指定的表所驻留的数据库名称。
owner
是表所有者的名称。
table
是含有标识列的表名。
注释
任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则 Microsoft® SQL Server™ 返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表。
如果插入值大于表的当前标识值,则 SQL Server 自动将新插入值作为当前标识值使用。
SET IDENTITY_INSERT 的设置是在执行或运行时设置,而不是在分析时设置。
权限
执行权限默认授予 sysadmin 固定服务器角色和 db_owner 及 db_ddladmin 固定数据库角色以及对象所有者。
示例
下例创建一个含有标识列的表,并显示如何使用 SET IDENTITY_INSERT 设置填充由 DELETE 语句导致的标识值中的空隙。
-- Create products table.
CREATE TABLE products (id int IDENTITY PRIMARY KEY, product varchar(40))
GO
-- Inserting values into products table.
INSERT INTO products (product) VALUES ('screwdriver')
INSERT INTO products (product) VALUES ('hammer')
INSERT INTO products (product) VALUES ('saw')
INSERT INTO products (product) VALUES ('shovel')
GO
-- Create a gap in the identity values.
DELETE products
WHERE product = 'saw'
GO
SELECT *
FROM products
GO
-- Attempt to insert an explicit ID value of 3;
-- should return a warning.
INSERT INTO products (id, product) VALUES(3, 'garden shovel')
GO
-- SET IDENTITY_INSERT to ON.
SET IDENTITY_INSERT products ON
GO
-- Attempt to insert an explicit ID value of 3
INSERT INTO products (id, product) VALUES(3, 'garden shovel').
GO
SELECT *
FROM products
GO
-- Drop products table.
DROP TABLE products
GO
发表评论
-
mysql 转sqlserver中遇到的坑
2016-05-06 18:09 1306mysql 转sqlserver中遇到的 ... -
sqlserver 函数cast与拼接
2016-05-04 12:01 944今天项目用到sqlserver,已经有8年不用这个sqlser ... -
mysql更新
2016-01-26 17:25 379UPDATE souyue02.sy_category_inf ... -
SELECT INTO 和 INSERT INTO SELECT
2015-10-09 16:51 453http://www.cnblogs.com/freshman ... -
mysql --------for routine错
2015-09-09 19:19 695调用存储过程时报了下面的错误 ERROR 1370 (4200 ... -
mysql存储--游标
2015-09-09 18:21 451游标的使用 要声明, 1.接收游标数据的变量 2.遍历数据结 ... -
You can't specify target table 't' for update in FROM clause
2015-09-08 16:41 398You can't specify target table ... -
mysql中如何判断字段是否包含中文
2015-09-08 16:31 2580SELECT * FROM a WHERE length( ... -
MSSQL和MySQL中,数据表两列字段值互换的问题,记录下
2015-09-08 16:29 1658MSSQL的处理方法 update table1 set fi ... -
Mongodb的update操作
2015-04-04 11:56 5561).update()命令 db.collection.up ... -
从Mongo的一些总结
2015-03-26 17:40 328var timestamp = _id.toString(). ... -
mysql加密解密函数AES_ENCRYPT与AES_DECRYPT
2014-12-02 15:05 2684mysql下的加密函数有如下几个 PASSWORD():创建 ... -
mysql加密解密函数AES_ENCRYPT与AES_DECRYPT
2014-12-02 15:04 1182mysql下的加密函数有如下几个 PASSWORD():创建 ... -
Mysql 查看连接数,状态
2014-11-27 17:24 1127http://blog.csdn.net/starnight_ ... -
sqlserver2008 jar驱动
2014-11-10 13:31 757JAVA要连接SQL SERVER2008,必须要用JDBC驱 ... -
mysql语句学习
2014-11-06 17:34 538select sysdate(),now(), sleep(3 ... -
win8不允许从远程连接MySql解决办法
2014-11-06 11:22 668在安装mysql的机器上运 ... -
plsql写表中字段及注释时为乱码
2014-09-01 11:55 2208修改pl/sql developer 的编码格式: 在win ... -
在Oracle中调用java程序
2014-07-16 13:46 624注意:java方法必须是static类型的,如果想在JAVA中 ... -
Oracle同义词的好处
2014-05-17 12:08 583Oracle数据库中提供了同义词管理的功能。同义词是数据库方案 ...
相关推荐
- SQL Server则在表中有一个自动增长列(如 `IDENTITY`),无需单独创建序列对象。 9. **SELECT语法**: - Oracle允许将查询结果集作为一个临时表使用,如 `SELECT * FROM (SELECT * FROM tab1)`,并且有虚表DUAL...
### SQLServer管理员手册知识点概述 #### 一、SQL Server 2000概览 - **SQL Server系统介绍**:本章节将详细介绍SQL Server 2000的基础知识,包括其核心组件、服务以及与其他软件的集成方式。 - **新特性和功能**:...
SQLServer是微软公司推出的一种关系型数据库管理系统,广泛应用于数据存储和管理。下面是对SQLServer中涉及的一些核心知识点的详细解释: ### 数据库设计 在设计数据库时,我们需要遵循一定的步骤来确保数据的有效...
ASP.NET和SQL Server是开发企业级Web应用的常用技术栈,它们在构建高效、安全且可扩展的系统中发挥着关键作用。在这个"ASP.NET+SQL Server 系统开发实例"中,我们可以深入理解这两项技术如何协同工作,构建出实际的...
标题中提到的是“sqlserver与mysql区别”,而描述部分明确指出“MS SQL不支持limit语句”,并给出了一些替代方案,比如使用top和row_number() over()函数。下面将围绕标题和描述,结合部分内容,详细阐述SQL Server...
### Flash连接SQLServer数据库知识点详解 #### 一、引言 随着互联网技术的发展,Flash作为一种广泛使用的多媒体技术,在网络动画、交互式应用等方面发挥了重要作用。然而,为了实现更丰富的功能和更强的数据处理...
### 导出SQL Server 2005表字段信息说明 在进行数据库管理与维护时,经常需要了解数据库中各个表的字段详细信息,包括字段名称、数据类型、是否为主键、长度、精度等属性。本文将通过一个SQL查询语句来详细解析如何...
### SQL Server 数据库操作知识点详解 #### 一、SQL Server 的安装与配置 **1. 安装步骤:** - **准备阶段:** 首先确保安装环境中满足SQL Server的最低硬件要求,并且操作系统兼容。 - **安装介质:** 获取SQL ...
SQL Server 知识点大全总结 SQL Server 是微软公司推出的关系数据库管理系统,广泛应用于企业级数据库管理和开发中。下面是 SQL Server 的知识点总结。 数据库基本概念 * 数据库(Database):存储有组织的数据的...
总结,解决SQL Server 2012中自增ID增加1000或2000的问题,关键在于理解自增ID的工作原理,以及可能影响它的各种因素。通过检查当前状态、调整设置、合理恢复数据和优化导入过程,可以有效地避免此类问题。同时,...
总结,遍历SQL Server表中的记录,可以采用表变量配合循环的方式,或者使用游标。表变量方法简洁且对数据的影响可控,但可能需要额外删除已处理的行。游标提供了逐行处理的灵活性,但效率较低,应作为最后的手段。在...
总结来说,优化SQL Server的索引设计是一个综合考虑查询性能、数据更新成本和存储空间的复杂过程。合理使用聚簇索引、非聚簇索引和覆盖索引,结合对查询模式的深入理解和系统负载的实时监控,可以显著提高SQL Server...
SQL Server数据库字典可以帮助我们清晰地看到每张表的结构、各字段的定义等信息。下面将详细介绍如何使用SQL查询快速生成SQL Server数据库的结构字典,并将其格式化输出为易于阅读的HTML文档。 #### SQL查询生成...
总结起来,掌握SQL Server 2005的内置函数和存储过程是提升数据库管理技能的关键步骤。通过深入学习和实践,我们可以更好地驾驭这个强大的工具,解决各种数据处理和管理问题。在实际工作中,不断探索和优化,才能...
本文将基于提供的内容,总结SQL Server的主要用法,包括创建数据库、表、默认值、规则、标识列、视图、索引以及存储过程等。 1. **创建数据库**: 使用`CREATE DATABASE`语句可以创建新的数据库,例如`CREATE ...
### SQL Server 数据库教程详解 #### 一、引言 SQL Server 是一款广泛使用的数据库管理系统,主要用于存储和管理大量数据。对于初学者来说,掌握 SQL Server 的基本操作是非常重要的。本教程将从基础入手,逐步深入...
以下是对标题"SQL Server用法总结"中涉及的一些核心知识点的详细说明: 1. **创建数据库**:使用 `CREATE DATABASE` 语句可以创建新的数据库。例如,`CREATE DATABASE baiyunfei;` 将创建一个名为 "baiyunfei" 的...