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

使用XML在SQL Server上创建计算列

 在SQL Server数据库中,当你想使用一个数据,而这个数据不保存在表中,计算列很有用。例如,你有一张表,它包括列dollar amounts, wholesale prices和retail prices。你肯定不想在每次查询表时来计算那两列之间的差值,你希望将其值保存在第三列中,让其自动计算前两列之间的差值。而此列就是计算列。
  在SQL Server中使用XML数据来创建计算列,你的列定义必须包含必要的用来检测向列中插入的是什么数据的表达式。例如,在上面的例子中,你的表达式应该从retail列中的值减去wholesale列中的值。当你添加或更新表中的数据行时,差值将自动插入至计算列中。
  你可以很容易地在两个或更多的包含字符串或数字类型值的列的基础上创建计算列。(更多关于如何创建此类型的计算列的详细信息,请参考Microsoft SQL Server Books Online)。然而,如果你想要基于指定的XML列中元素值创建一个计算列,该过程相对更加复杂一些。因为你必须使用Xquery表达式来从XML列中获取指定元素数据,且SQL Server不支持在计算列的定义中使用Xquery表达式。
  要解决此问题,可以创建一个函数来接收你想包含在计算列中的XML数据,并在计算列定义中调用此函数。更好的示范这是如何工作的,我们在这给出一个例子。我在SQL Server 2005的示例数据库AdventureWorks中创建以下的架构和表:
  USE AdventureWorks;
  GO
  CREATE SCHEMA hr
  GO
  SELECT TOP 10 JobCandidateID AS CandidateID,
  [Resume] AS JobResume
  INTO hr.CandidateNames
  from HumanResources.JobCandidate
  GO
  正如名称所示,HumanResources.JobCandidate表中的Resume列是一个XML列,它包含侯选人的履历信息。我从这张表中提取数据来创建hr架构中的CandidateNames表。(我创建了一个单独的表,因为我希望可以修改表定义,从而可以增加计算列) 在建立好测试环境后,你可以创建函数。函数应该包括在从指定的XML列中获取数据时所需的XQuery表达式。例如,以下函数接收工作候选人的姓名,并保存在JobResume列中:
  CREATE FUNCTION hr.FullName (@name XML)
  RETURNS NVARCHAR(60) AS
  BEGIN
  RETURN @name.value('declare namespace ns=
  "http://schemas.microsoft.com/sqlserver/2004/07/adventure-
  works/Resume";
  concat((/ns:Resume/ns:Name/ns:Name.First)[1], " ",
  (/ns:Resume/ns:Name/ns:Name.Last)[1])','nvarchar(


相关文档:

航空公司管理系统(VC++ 与SQL 2005)

系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
      这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......

sql的join

对于我们这些仅用到sql简单查询开发人员来说,可能只了解一些基本的sql函数和<>=这样的条件语句,今天一个朋友问起:默认的join是outer还是inner。。。。
特地收集了一些东西,也贴出来和大家分享下:
joinleft outer join=left join ,   right outer join=right join,     inner jo ......

SQL SERVER 用sql语句如何获得当前系统时间


SQL SERVER 2000用sql语句如何获得当前系统时间
就是用GETDATE();
Sql中的getDate()2008年01月08日 星期二 14:59
Sql Server 中一个非常强大的日期格式化函数
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2008 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/08
Select CONVERT(varchar(100), ......

SQL Server 2005 连接字符串代码


SQL Native Client ODBC Driver
标准安全连接
Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
您是否在使用SQL Server 2005 Express 请在“Server”选项使用连接表达式“主机名称\SQLEXPRESS”。
受信的连接
Driver={SQL Native ......

sql中in和exist语句的区别

IN
确定给定的值是否与子查询或列表中的值相匹配。
EXISTS
指定一个子查询,检测行的存在。
比较使用 EXISTS 和 IN 的查询
这个例子比较了两个语义类似的查询。第一个查询使用 EXISTS 而第二个查询使用 IN。注意两个查询返回相同的信息。
USE pubs
GO
SELECT DISTINCT pub_name
from publishers
WHERE ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号