1 INSERT语法

[ WITH <common_table_expression> [ ,...n ] ]
INSERT
{
[ TOP ( expression ) [ PERCENT ] ]
[ INTO ]
{
<object> | rowset_function_limited
[ WITH ( <Table_Hint_Limited> [ ...n ] ) ]
}
{
[ ( column_list ) ]
[ <OUTPUT Clause> ]
{
VALUES ( { DEFAULT | NULL | expression } [ ,...n ] ) [ ,...n ]
| derived_table
| execute_statement
| <dml_table_source>
| DEFAULT VALUES
}
}
}
[;]

  在该结构中,INSERT为该语句的实际操作,INTO关键字无真正含义,目的是为增强这个语句的可读性。INTO关键字为可选,建议在语句中加入该关键字。在使用Entity Framework添加数据时,执行的INSERT语句是没有使用INTO关键字的。

2 单条插入

INSERT INTO [dbo].[Product]
(
[ProductName], [UnitPrice], [CreateDate])
VALUES
(
'LINQ to SQL', 100, GETDATE());

3 多条插入

  SQL Server 2012支持一次插入多行记录,实现方式为在需要添加额外的用逗号分隔的插入值。

INSERT INTO [dbo].[Product]
(
[ProductName], [UnitPrice], [CreateDate])
VALUES
(
'LINQ to SQL', 100, GETDATE()),
(
'LINQ to Object', 90, GETDATE());

4 INSERT INTO ... SELECT语句

  在一次INSERT多条记录时,且需要插入的数据是从其他的数据源选择获取时,可以使用INERT INTO...SELECT语句。

  不同的数据源包括:

  ◊ 数据库中的另一个表

  ◊ 同一台服务器上的另外一个数据库中的数据表

  INERT INTO...SELECT语法:

INSERT INTO <table_name>
[<column list>]
<SELECT statement>

  示例:从另外一个数据库的数据表作为数据源一次插入多条记录

USE Portal
GO

INSERT INTO [dbo].[Product]
(
[ProductName], [UnitPrice], [CreateDate])
SELECT
[ProductName], [UnitPrice], [CreateDate]
FROM
[Northwind].[dbo].[Product]

GO

  示例:声明table类型的变量,向变量中一次插入多条记录

USE Portal
GO

DECLARE @tbl TABLE
(
ProductName
VARCHAR(50) NULL,
CreateDate
DATETIME NULL
)
INSERT INTO @tbl
SELECT
[ProductName], [CreateDate]
FROM
[dbo].[Product]

SELECT * FROM @tbl

GO

5 参考资料:

  http://msdn.microsoft.com/zh-cn/library/ms174335.aspx

更多相关文章

  1. 求SQL语句,有没有周末上班的高手,给帮个忙吧!
  2. 求一条sql语句:计算两列的差值,以及各个差值占差值总和的比例
  3. 条件复杂的sql语句查询
  4. SQL Server中存储过程比直接运行SQL语句慢的原因
  5. Mysql order by语句未使用索引的思考
  6. SQL语句练习(1)
  7. 存款日均额计算的SQL语句如何书写
  8. JNDI学习总结(一)——JNDI数据源的配置
  9. java配置使用数据源

随机推荐

  1. 小鹿专属福利 | 周末解答 + 给读者送书
  2. 动画:面试官问我如何在 20 万 IP 地址中快
  3. 如何正确对待伸手党和杠精
  4. 1-21
  5. Ansible 之 when判断语句使用
  6. Python爬取网易云音乐1万条评论,感受到疫
  7. hive窗口函数/分析函数详细剖析
  8. 写一篇周末杂文
  9. python数据分析——如何用python连接远程
  10. 动画:Flex布局 | 别再用传统方式进行网页