易截截图软件、单文件、免安装、纯绿色、仅160KB

在SQL Server应用中使用OUTPUT子句

 现在大多数描述SQL Server 2005新特性的文章都关注于华而不实的特性,如SQLCLR或XML数据类型,而对许多很好的老的T-SQL语言的改进没有得到应有的关注。我曾经从许多DBA口中听到令他们更兴奋的是看到T-SQL语言的改进,而不是那些新出现和发布的功能。对于SQL语言的一个很有用的实际改进是OUTPUT子句,它允许查询一个数据修改命令所影响的记录行。
  本文将讨论OUTPUT子句在SQL Server中的具体应用。我会向你介绍如何很容易地使用OUTPUT子句实现审计和数据修改存档等业务需求,以及其它相关的内容。
  OUTPUT子句的基本原理是很简单的——它返回由每个INSERT、UPDATE或DELETE命令所影响的记录行。OUTPUT可以在客户端应用程序中返回这些记录行,然后将它们插入到一个持久的或临时的表中,也可以将记录插入到一个表变量中。它的用法就是直接将OUTPUT子句附到任何一个INSERT/UPDATE/DELETE语句后。
  OUTPUT子句中可以引用INSERTED或DELETED虚拟表,这取决于是否想要在数据修改前(DELETED表)或修改后(INSERTED表)得到数据。这跟使用触发器去修改数据的操作是很相似的。
  注意:不能在一个INSERT语句中引用DELETED,也不能在一个DELETED语句中引用INSERTED,因为这些虚拟表在这两种情况下逻辑上是没有意义的,所以SQL Server不会去创建。
  既然我们已经了解了OUTPUT子句在SQL Server中的基本用法,下面让我们看一些它的例子和SQL Server中的实际应用。我将从创建一个简单的Employee表开始:
  CREATE TABLE dbo.Employee
  (
  EmployeeID INT NOT NULL IDENTITY(1, 1),
  FirstName VARCHAR(50) NOT NULL,
  LastName VARCHAR(50) NOT NULL,
  Status VARCHAR(20) DEFAULT 'Single'
  )
  下一步,我们要插入一行数据并加上OUTPUT来返回执行插入操作时所插入到应用中的记录:
   INSERT INTO dbo.Employee( FirstName, LastName )
  OUTPUT INSERTED.*
  SELECT 'Susan', 'Kelley'
EmployeeID
FirstName
LastName
Status
1
Susan
Kelley
Single
  我们可以看到,SQL Server返回INSERT语句所插入的记录。这个技术对于查找服务器生成的值并返回给应用程序是很有用的,如标记字段或字段默认值。
下一步,我们将来自INSERT语句的输出实时


相关文档:

获取SQL Server的一些系统信息

 --@@CPU_BUSY获取cpu工作时间
select @@CPU_BUSY AS 'CPU ms',GETDATE() AS 'TIMES'
--获取磁盘读写次数
SELECT @@TOTAL_READ AS 'Reads',@@TOTAL_WRITE AS 'Writes', GETDATE() AS 'As of'
--获取SQl服务器名
SELECT HOST_NAME()
--获得数据库表示号
USE master
SELECT name,DB_ID(name) AS DB_ID from sysd ......

标准常用sql语句 一

 SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。SQL 语句用于取回和更新数据库中的数据。SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统。
不幸地是,存在着很多不同版本的 SQL 语言,但是为了与 ANSI 标准相兼容,它们必须以相似的 ......

关于sql中时间的格式转换


sql server2000中使用convert来取得datetime数据类型样式(全)
日期数据格式的处理,两个示例:
CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/
CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/ ......

C# 执行SQL事务实例代码

 [C#]
public void RunSqlTransaction(string myConnString)
{
    SqlConnection myConnection = new SqlConnection(myConnString);
    myConnection.Open();
    SqlCommand myCommand = myConnection.CreateCommand();
    SqlTransaction m ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号