当前位置: 代码迷 >> SQL >> MS SQL 惯用SQL语句
  详细解决方案

MS SQL 惯用SQL语句

热度:51   发布时间:2016-05-05 11:11:36.0
MS SQL 常用SQL语句

测试数据库:MS SQL Server 2005

?

1、insert into select语句:

语句形式:insert into Table2(field1,field2,...) select value1,value2,... from Table1 where table1.......

表示从table1中复制符合条件的数据到table2中,要求目标表table2必须存在,若不存在则会报错。这个语句除了插入源表table1的字段外,还可以插入常量。

具体例子参见:http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html

?

2、select into from 语句:

语句形式:select vale1, value2 into Table2 from Table1 where field1......

表示从table1中复制符合条件的数据到table2中,要求目标表table2不存在,因为在插入数据时会自动创建table2。

具体例子参见:http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html

?

3、update select 语句:

语句形式:update table2 set table2.field...=table1.field... ,table2.field...=table1.field........ from table1 where table2.field...=table1.field...

简单例子:

update table2 set  field3=t1.field2, field4=t1.field6 from table1 t1 where table2.field2=t1.field1 and table2.field2=2 ;

表示从table1中更新数据到符合条件的table2中,要求目标表table2必须存在,而且有符合条件的数据,当然要是没有数据或数据不对,自然不会符合条件,自然不会更新了。

具体例子参见:http://www.2cto.com/database/201208/148251.html

这个是这个例子上面的关于update的:

个人感觉MS SQL Server的Update语法功能更为强大。MS SQL SERVER的写法:

UPDATE A SET A1 = B1, A2 = B2, A3 = B3 FROM A, B WHERE A.ID = B.ID

个人觉得这个是有问题的。我最开始是按照这个方法写的,报错,后来调整成上面的形式了,反而成功了。

  相关解决方案