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
相关文档:
之前为了方便操作就在Sql Server的企业管理器里注册了远程服务器,但是前一段时间在远程服务器上修改了该数据库的密码,每次点击该注册服务器系统要等很长时间,象死机一样;修改连接属性也修改不了,点击后也没有反应,于是就想删除重新注册,既然无法在管理器里删除,就想从注册表里删除,找了好久终于找到了,对应的sql ......
首先得下载驱动程序到微软网站下载Microsoft SQL Server 2005 JDBC Driver 1.2
解压Microsoft SQL Server 2005 jdbc driver1.2.exe,把sqljdbc_1.1复制到%ProgramFiles%(如果系统在C盘则为C:\Program Files)。
设置 Classpath
JDBC 驱动程序并未包含在 Java SDK 中。因此,如果要使用该驱动程序,必须将 classpath ......
以下转载,原文摘自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, ......
一、主要是需要更新mssqlServer 的时候需要进行一些是否存在的判断,在mssql2000 和 2005 上测试没有哦问题
--//判断是表Table_UserInfo里是否有字段
if not exists(select * from syscolumns where id=object_id('Table_UserInfo') and name='Tel') begin
ALTER table Table_UserInfo add Tel varchar(200)--增加字段
......
本周
select * from tb where datediff(week , 时间字段 ,getdate()) = 0
上周
select * from tb where datediff(week , 时间字段 ,getdate()) = 1
下周
select * from tb where datediff(week , 时间字段 ,getdate()) = -1
------------------------------------------------------------------------------------ ......