SQL Server 2005 T SQL 中的OUTPUT子句语法
OUTPUT子句是SQL Server 2005 中对INSERT、UPDATE和DELETE新增的,今天看见园子里有人提起(SQL2005中返回修改后的数据),就在这里记录一下它的语法。
OUTPUT { DELETED | INSERTED | from_table_name }. {* | column_name } [,...n]
INTO { @table_variable | output_table }
参数说明:
DELETED , INSERTED 和触发器里的一样,是系统的虚拟表,他们保存了以更新的原始和修改之后的值。
下面是一个完整的例子:
创建表:
CREATE TABLE product(
productId INT IDENTITY PRIMARY KEY,
Name NVARCHAR(50)
)
插入数据:
INSERT INTO product([Name])VALUES('MP3');
测试OUTPUT:
DECLARE @ProductChanges TABLE (
DeletedName NVARCHAR(50),
InsertedName NVARCHAR(50)
)
UPDATE product
SET Name='myname'
OUTPUT DELETED.Name,INSERTED.Name
INTO @ProductChanges
WHERE productId=1
SELECT DeletedName,InsertedName
from @ProductChanges
执行结果:
DeletedName InsertedName
1 MP3 myname
相关文档:
在网上看到一个很好的例子讲解in和exists的区别,这里备忘下。
本示例所示查询查找由位于以字母 B 开头的城市中的任一出版商出版的书名:
USE pubs
SELECT title
from titles WHERE EXISTS
(SELECT *
from publishers
WHERE pub_id = titles.pub_id ......
之前为了方便操作就在Sql Server的企业管理器里注册了远程服务器,但是前一段时间在远程服务器上修改了该数据库的密码,每次点击该注册服务器系统要等很长时间,象死机一样;修改连接属性也修改不了,点击后也没有反应,于是就想删除重新注册,既然无法在管理器里删除,就想从注册表里删除,找了好久终于找到了,对应的sql ......
以下转载,原文摘自http://www.cnblogs.com/fubeidong/archive/2007/07/06/526247.html
数据库中有个字段叫orderTime,是DateTime类型的数据,如果我们用以下SQL语句把它取出来:
select
orderTime
from orders
则会把时间都显示出来,而如果改成下面的SQL语句:
select
orderTime = convert(varchar(10),orderTime, ......
1、安装Sql Server2005 Mobile Edition;
2、具体在创建一个工程以后,想使用SqlServerCe必须在自己工程的引用里面添加一个dll才行;
其目录在:C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\System.Data.SqlServerCe.dll
添加了以后就可以使用Mobile的一些数据库操作的类库了。 ......
本周
select * from tb where datediff(week , 时间字段 ,getdate()) = 0
上周
select * from tb where datediff(week , 时间字段 ,getdate()) = 1
下周
select * from tb where datediff(week , 时间字段 ,getdate()) = -1
------------------------------------------------------------------------------------ ......