<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IT元素</title>
	<atom:link href="http://www.ourys.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ourys.com</link>
	<description>Hector的编程笔记夹，如果喜欢，收藏一个</description>
	<lastBuildDate>Wed, 18 Jan 2012 22:07:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>MSSQL2005大值数据类型varchar(max)、nvarchar(max)、varbinary(max)</title>
		<link>http://www.ourys.com/post/mssql2005%e5%a4%a7%e5%80%bc%e6%95%b0%e6%8d%ae%e7%b1%bb%e5%9e%8bvarcharmax%e3%80%81nvarcharmax%e3%80%81varbinarymax.html</link>
		<comments>http://www.ourys.com/post/mssql2005%e5%a4%a7%e5%80%bc%e6%95%b0%e6%8d%ae%e7%b1%bb%e5%9e%8bvarcharmax%e3%80%81nvarcharmax%e3%80%81varbinarymax.html#comments</comments>
		<pubDate>Wed, 18 Jan 2012 22:07:59 +0000</pubDate>
		<dc:creator>Hector</dc:creator>
				<category><![CDATA[数据库]]></category>
		<category><![CDATA[mssql2005]]></category>

		<guid isPermaLink="false">http://www.ourys.com/?p=722</guid>
		<description><![CDATA[在SQL Server 2000中，VARCHAR的最大长度是8000，如果字符串的长度超过8000，保存在VARCHAR中时就会被截断。
也不能定义DECLARE @largeText TEXT ，常见的字符串函数也不能使用，除了datalength,substring(substring中英文字符作为一个字符)。

这几个数据类型在行为上和较小的数据类型 varchar、nvarchar 和 varbinary 相同,最大长度都为2^31-1。

微软的说法是用这个数据类型来代替之前的text、ntext 和 image 数据类型，它们之间的对应关系为：

varchar(max)-------text;

nvarchar(max)-----ntext;

varbinary(max)----image.

注意：
1.VARCHAR和VARCHAR(MAX)混在一起做处理时还是会变成VARCHAR，从而可能被截断，所以需要全转成VARCHAR(MAX)

2.在变量声明中使用 char 和 varchar 数据类型时，这些数据类型的默认值 n 为 1。

3.在 CAST 和 CONVERT 中使用 varchar 时，显示 n 的默认值为30。]]></description>
			<content:encoded><![CDATA[<p>在SQL Server 2000中，VARCHAR的最大长度是8000，如果字符串的长度超过8000，保存在VARCHAR中时就会被截断。<br />
也不能定义DECLARE @largeText TEXT ，常见的字符串函数也不能使用，除了datalength,substring(substring中英文字符作为一个字符)。</p>
<p>这几个数据类型在行为上和较小的数据类型 varchar、nvarchar 和 varbinary 相同,最大长度都为2^31-1。</p>
<p>微软的说法是用这个数据类型来代替之前的text、ntext 和 image 数据类型，它们之间的对应关系为：</p>
<p>varchar(max)&#8212;&#8212;-text;</p>
<p>nvarchar(max)&#8212;&#8211;ntext;</p>
<p>varbinary(max)&#8212;-image.</p>
<p>注意：<br />
1.VARCHAR和VARCHAR(MAX)混在一起做处理时还是会变成VARCHAR，从而可能被截断，所以需要全转成VARCHAR(MAX)</p>
<p>2.在变量声明中使用 char 和 varchar 数据类型时，这些数据类型的默认值 n 为 1。</p>
<p>3.在 CAST 和 CONVERT 中使用 varchar 时，显示 n 的默认值为30。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ourys.com/post/mssql2005%e5%a4%a7%e5%80%bc%e6%95%b0%e6%8d%ae%e7%b1%bb%e5%9e%8bvarcharmax%e3%80%81nvarcharmax%e3%80%81varbinarymax.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MSSQL2005排名函数</title>
		<link>http://www.ourys.com/post/mssql2005%e6%8e%92%e5%90%8d%e5%87%bd%e6%95%b0.html</link>
		<comments>http://www.ourys.com/post/mssql2005%e6%8e%92%e5%90%8d%e5%87%bd%e6%95%b0.html#comments</comments>
		<pubDate>Thu, 29 Dec 2011 16:52:04 +0000</pubDate>
		<dc:creator>Hector</dc:creator>
				<category><![CDATA[数据库]]></category>
		<category><![CDATA[DENSE_RANK]]></category>
		<category><![CDATA[mssql2005]]></category>
		<category><![CDATA[NTILE]]></category>
		<category><![CDATA[RANK]]></category>
		<category><![CDATA[ROW_NUMBER]]></category>

		<guid isPermaLink="false">http://www.ourys.com/?p=734</guid>
		<description><![CDATA[   MSSQL2005新增了四个排名函数，ROW_NUMBER, RANK, DENSE_RANK, NTILE。利用这些函数可以有效地分析数据以及向查询的结果行提供排序值。]]></description>
			<content:encoded><![CDATA[<p>   MSSQL2005新增了四个排名函数，<span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/row_number" title="查看 ROW_NUMBER 中的全部文章" target="_blank">ROW_NUMBER</a></span>, <span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/rank" title="查看 RANK 中的全部文章" target="_blank">RANK</a></span>, <span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/dense_rank" title="查看 DENSE_RANK 中的全部文章" target="_blank">DENSE_RANK</a></span>, <span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/ntile" title="查看 NTILE 中的全部文章" target="_blank">NTILE</a></span>。利用这些函数可以有效地分析数据以及向查询的结果行提供排序值。</p>
<p>建立测试数据，分析它们各自的作用。</p>
<blockquote><pre class="brush: sql; title: ; notranslate">
CREATE TABLE [Test]
(
     [StudentID] [bigint] NOT NULL,
     [ClassID] [bigint] NOT NULL,
     [TestScore] [decimal](4, 1) NOT NULL
) ON [PRIMARY]
 GO

 INSERT INTO [Test]  VALUES (100001,100,90)
 INSERT INTO [Test]  VALUES (100002,100,85.5)
 INSERT INTO [Test]  VALUES (100003,100,80)
 INSERT INTO [Test]  VALUES (100004,100,80)
 INSERT INTO [Test]  VALUES (100005,100,74)
 INSERT INTO [Test]  VALUES (101001,101,94)
 INSERT INTO [Test]  VALUES (101002,101,85.5)
 INSERT INTO [Test]  VALUES (101003,101,85.5)
</pre>
</blockquote>
<p>测试代码：</p>
<blockquote><pre class="brush: sql; title: ; notranslate">
 SELECT *,
      ROW_NUMBER() OVER (ORDER BY TestScore DESC) as RN,
      RANK() OVER (ORDER BY TestScore DESC) as R,
      DENSE_RANK() OVER (ORDER BY TestScore DESC) as DR,
      NTILE(3) OVER (ORDER BY TestScore DESC) as N3
 FROM [Test]
</pre>
</blockquote>
<p>执行结果：</p>
<blockquote><pre class="brush: sql; title: ; notranslate">
StudentID ClassID  TestScore   RN    R   DR   N
--------- -------- ----------- ----- --- ---- -
101001    101      94.0        1     1   1    1
100001    100      90.0        2     2   2    1
100002    100      85.5        3     3   3    1
101002    101      85.5        4     3   3    2
101003    101      85.5        5     3   3    2
100003    100      80.0        6     6   4    2
100004    100      80.0        7     6   4    3
100005    100      74.0        8     8   5    3
</pre>
</blockquote>
<p>通过以上的例子就很清晰了。</p>
<dl>
<dt><span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/row_number" title="查看 ROW_NUMBER 中的全部文章" target="_blank">ROW_NUMBER</a></span></dt>
<dd>行号函数。用来生成数据行在结果集中的序号<br />
      语法：<br />
ROW_NUMBER( ) OVER ([
<partition_by_clause>] <order_by_clause>)</p>
<p>      可以利用ROW_NUMBER函数非常便利的实现分页功能</dd>
<dt><span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/rank" title="查看 RANK 中的全部文章" target="_blank">RANK</a></span></dt>
<dd>排序函数。必须配合over函数,且排序字段值相同的行号一样,同时隐藏行号会占位。<br />
      语法：<br />
<span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/rank" title="查看 RANK 中的全部文章" target="_blank">RANK</a></span>() OVER ([
<partition_by_clause>] <order_by_clause>)</p>
<p>      还可以利用partition进行分组排序，例如对每个班级分别按成绩排序。</dd>
<dt><span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/dense_rank" title="查看 DENSE_RANK 中的全部文章" target="_blank">DENSE_RANK</a></span></dt>
<dd>紧凑排序函数。与RANK函数不同的是，当排序字段值相同导致行号一样时,同时隐藏行号不占位。<br />
      语法：<br />
<span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/dense_rank" title="查看 DENSE_RANK 中的全部文章" target="_blank">DENSE_RANK</a></span> ( ) OVER ([
<partition_by_clause>] <order_by_clause>)</dd>
<dt><span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/ntile" title="查看 NTILE 中的全部文章" target="_blank">NTILE</a></span></dt>
<dd>分区排序函数。<span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/ntile" title="查看 NTILE 中的全部文章" target="_blank">NTILE</a></span>函数需要一个参数N，这个参数支持bigint。这个函数将结果集等分成N个区，并按排序字段将已排序的记录依次轮流放入各个区内。最后每个区内会从1开始编号，NTILE函数返回这个编号。<br />
      语法：<br />
NTILE (integer_expression) OVER ([
<partition_by_clause>]< order_by_clause>)</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://www.ourys.com/post/mssql2005%e6%8e%92%e5%90%8d%e5%87%bd%e6%95%b0.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MSSQL之指定行数</title>
		<link>http://www.ourys.com/post/mssql2005%e6%96%b0%e7%89%b9%e6%80%a7%e4%b9%8b%e5%8f%98%e9%87%8f%e6%95%b0%e7%9b%ae.html</link>
		<comments>http://www.ourys.com/post/mssql2005%e6%96%b0%e7%89%b9%e6%80%a7%e4%b9%8b%e5%8f%98%e9%87%8f%e6%95%b0%e7%9b%ae.html#comments</comments>
		<pubDate>Wed, 21 Dec 2011 10:51:20 +0000</pubDate>
		<dc:creator>Hector</dc:creator>
				<category><![CDATA[数据库]]></category>
		<category><![CDATA[mssql2000]]></category>
		<category><![CDATA[mssql2005]]></category>
		<category><![CDATA[rowcount]]></category>

		<guid isPermaLink="false">http://www.ourys.com/?p=729</guid>
		<description><![CDATA[<h3>SET ROWCOUNT { number &#124; @number_var } </h3>
使 SQL Server 在返回指定的行数之后停止处理查询。 要将此选项设置为 off 以便返回所有的行，请将 SET ROWCOUNT 指定为 0。
SET ROWCOUNT 的设置是在执行时或运行时设置，而不是在分析时设置。

<h4>和TOP合用</h4>
如果行数值较小，则 SET ROWCOUNT 将覆盖 SELECT 语句 TOP 关键字。

当 INSERT、UPDATE 和 DELETE 语句使用显式 TOP 表达式时，这些语句将忽略 SET ROWCOUNT。这包括 INSERT 后跟 SELECT 子句的语句。]]></description>
			<content:encoded><![CDATA[<h3>SET ROWCOUNT { number | @number_var } </h3>
<p>使 SQL Server 在返回指定的行数之后停止处理查询。 要将此选项设置为 off 以便返回所有的行，请将 SET ROWCOUNT 指定为 0。<br />
SET ROWCOUNT 的设置是在执行时或运行时设置，而不是在分析时设置。</p>
<h4>和TOP合用</h4>
<p>如果行数值较小，则 SET ROWCOUNT 将覆盖 SELECT 语句 TOP 关键字。</p>
<p>当 INSERT、UPDATE 和 DELETE 语句使用显式 TOP 表达式时，这些语句将忽略 SET ROWCOUNT。这包括 INSERT 后跟 SELECT 子句的语句。</p>
<h4>影响范围</h4>
<p>设置 SET ROWCOUNT 选项将使大多数 Transact-SQL 语句在受到指定数目的行影响后停止处理。这包括触发器和 INSERT、UPDATE 及 DELETE 等数据修改语句。ROWCOUNT 选项对动态游标无效，但它可以限制键集的行集和不区分游标。应谨慎使用该选项，它主要与 SELECT 语句一起使用。</p>
<p>在 SQL Server 的下一个版本中，使用 SET ROWCOUNT 将不会影响 DELETE、INSERT 和 UPDATE 语句。<br />
对于当前使用 SET ROWCOUNT 的 DELETE、INSERT 和 UPDATE 语句，建议您使用 TOP 语法重写它们。<br />
对于在远程表和本地及远程分区视图上执行的 INSERT、UPDATE 和 DELETE 语句，将忽略 SET ROWCOUNT 选项设置。</p>
<h3>select top</h3>
<p>在MSSQL2000中是不支持select top + 变量的形式的<br />
在MSSQL2005中却可以，例如：<br />
select top 语句支持变量数目,如下例:</p>
<blockquote><pre class="brush: sql; title: ; notranslate">
declare @n int
set @n=10
select top(@n) from orders
</pre>
</blockquote>
<p>这样在后台存储过程分页就可以不必用动态语句了。。。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ourys.com/post/mssql2005%e6%96%b0%e7%89%b9%e6%80%a7%e4%b9%8b%e5%8f%98%e9%87%8f%e6%95%b0%e7%9b%ae.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MSSQL2005新增函数ROW_NUMBER()</title>
		<link>http://www.ourys.com/post/mssql2005%e6%96%b0%e5%a2%9e%e5%87%bd%e6%95%b0row_number.html</link>
		<comments>http://www.ourys.com/post/mssql2005%e6%96%b0%e5%a2%9e%e5%87%bd%e6%95%b0row_number.html#comments</comments>
		<pubDate>Mon, 19 Dec 2011 01:40:58 +0000</pubDate>
		<dc:creator>Hector</dc:creator>
				<category><![CDATA[数据库]]></category>
		<category><![CDATA[mssql2000]]></category>
		<category><![CDATA[ROW_NUMBER，mssql2005]]></category>

		<guid isPermaLink="false">http://www.ourys.com/?p=719</guid>
		<description><![CDATA[<h3>简介</h3>
ROW_NUMBER()是MS SQL Server 2005中新增窗口函数，可用来直接生成行号(但是SQL Server 2000中是没有这个函数的)。如：

<blockquote>[code lang="sql"]
select ROW_NUMBER() over (order by ENo), ENo，EName  
from Employee 
[/code]</blockquote>]]></description>
			<content:encoded><![CDATA[<h3>简介</h3>
<p>ROW_NUMBER()是MS SQL Server 2005中新增窗口函数，可用来直接生成行号(但是SQL Server 2000中是没有这个函数的)。如：</p>
<blockquote><pre class="brush: sql; title: ; notranslate">
select ROW_NUMBER() over (order by ENo), ENo，EName
from Employee
</pre>
</blockquote>
<h3>主要作用</h3>
<p>分页</p>
<blockquote><pre class="brush: sql; title: ; notranslate">
select * from (select orderid,freight,row_number() over(order by freight) as row from Orders) a
where row between 20 and 30
</pre>
</blockquote>
<p>结合通用表达式进行分页 </p>
<blockquote><pre class="brush: sql; title: ; notranslate">
WITH OrderFreight AS(
    select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) as row from Orders
)
select OrderId, Freight from OrderFreight where row between 10 and 20
</pre>
</blockquote>
<h3><span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/mssql2000" title="查看 mssql2000 中的全部文章" target="_blank">mssql2000</a></span>模拟方法</h3>
<h4>1、使用临时表。</h4>
<p>如果是在存储过程中，这是一个不错的选择。<br />
创建一个临时表，其中除了需要的查询结果外，还一个记数列。查询结果放入临时表后（一般情况下可直接使用Insert into语句），用代码进行记数，更新记数列的值。<br />
在记数列数值的生成方法上，还有一个改进的办法是直接将该列定义为自增长字段。这样“记数”的代码也省掉了。</p>
<h4>2、采用自连接。</h4>
<p>如果是在代码中，不便于使用临时表，可以采用此方法。比如执行一个查询统计，需要一个替代的SQL语句。<br />
这个方法实际上是通过表的自连接给结果行“分等级”的思路来实现的。<br />
语句如下：</p>
<blockquote><pre class="brush: sql; title: ; notranslate">
select count(*)，e1.ENo, e1.EName
from Employee e1
inner join Employee e2 on e1.ENo &gt;= e2.ENo
group by e1.ENo, e1.EName
order by 1
</pre>
</blockquote>
<p>或者把join条件放到where子句中：</p>
<blockquote><pre class="brush: sql; title: ; notranslate">
select count(*)，e1.ENo, e1.EName
from Employee e1， Employee e2，
where e1.ENo &gt;= e2.ENo
group by e1.ENo, e1.EName
order by 1
</pre>
</blockquote>
<p>如果ENo字段值不重复，还可以这样写：</p>
<blockquote><pre class="brush: sql; title: ; notranslate">
select (select count(*) from Employee e2 where e1.ENo &gt;= e2.ENo), e1.ENo, e1.EName
from Employee e1
order by 1
</pre>
</blockquote>
<p>如果ENo字段值有重复的情况，要使用最后一种写法可以将where条件变通一下，如：</p>
<blockquote><pre class="brush: sql; title: ; notranslate">where e1.ENo+e1.EName &gt;= e2.ENo+e2.EName</pre>
</blockquote>
<p>总能找到不存在重复值的表达式的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ourys.com/post/mssql2005%e6%96%b0%e5%a2%9e%e5%87%bd%e6%95%b0row_number.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mssql表变量和临时表</title>
		<link>http://www.ourys.com/post/mssql%e8%a1%a8%e5%8f%98%e9%87%8f%e5%92%8c%e4%b8%b4%e6%97%b6%e8%a1%a8.html</link>
		<comments>http://www.ourys.com/post/mssql%e8%a1%a8%e5%8f%98%e9%87%8f%e5%92%8c%e4%b8%b4%e6%97%b6%e8%a1%a8.html#comments</comments>
		<pubDate>Fri, 16 Dec 2011 17:35:43 +0000</pubDate>
		<dc:creator>Hector</dc:creator>
				<category><![CDATA[数据库]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[表变量，临时表]]></category>

		<guid isPermaLink="false">http://www.ourys.com/?p=712</guid>
		<description><![CDATA[<h3>表变量</h3>
<dl><dt>定义</dt><dd>一种特殊的数据类型，用于存储结果集以供后续处理。该数据类型主要用于临时存储一组行，这些行将作为表值函数的结果集返回。
尽可能使用表变量而不使用临时表。</dd><dt>表变量有以下特点</dt><dd>
<ul>	<li>1.表变量的行为类似于局部变量，有明确定义的作用域。该作用域为声明该变量的函数、存储过程或批处理。
在其作用域内，表变量可像常规表那样使用。该变量可应用于 SELECT、INSERT、UPDATE 和 DELETE 语句中用到表或表的表达式的地方。但是，表不能用在下列语句中：
INSERT INTO table_variable EXEC 存储过程。
SELECT select_list INTO table_variable 语句。</li>

	<li>2.在定义表变量的函数、存储过程或批处理结束时，自动清除表变量。</li>

	<li>3·表类型声明中的 CHECK 约束、DEFAULT 值和计算列不能调用用户定义函数。</li>

	<li>4·在存储过程中使用表变量与使用临时表相比，减少了存储过程的重新编译量。</li>

	<li>5·涉及表变量的事务只在表变量更新期间存在。这样就减少了表变量对锁定和记录资源的需求。</li>

	<li>6·不支持在表变量之间进行赋值操作。
declare @t1 table(t1 int)
declare @t2 table(t2 int)
set @t1=@t2 --错误</li>

	<li>7·另外，由于表变量作用域有限，并且不是持久数据库的一部分，因而不受事务回滚的影响。</li>
</ul></dd></dl>]]></description>
			<content:encoded><![CDATA[<h3>表变量</h3>
<dl>
<dt>定义</dt>
<dd>一种特殊的数据类型，用于存储结果集以供后续处理。该数据类型主要用于临时存储一组行，这些行将作为表值函数的结果集返回。<br />
尽可能使用表变量而不使用临时表。</dd>
<dt>表变量有以下特点</dt>
<dd>
<ul>
<li>1.表变量的行为类似于局部变量，有明确定义的作用域。该作用域为声明该变量的函数、存储过程或批处理。<br />
在其作用域内，表变量可像常规表那样使用。该变量可应用于 SELECT、INSERT、UPDATE 和 DELETE 语句中用到表或表的表达式的地方。但是，表不能用在下列语句中：<br />
INSERT INTO table_variable EXEC 存储过程。<br />
SELECT select_list INTO table_variable 语句。</li>
<li>2.在定义表变量的函数、存储过程或批处理结束时，自动清除表变量。</li>
<li>3·表类型声明中的 CHECK 约束、DEFAULT 值和计算列不能调用用户定义函数。</li>
<li>4·在存储过程中使用表变量与使用临时表相比，减少了存储过程的重新编译量。</li>
<li>5·涉及表变量的事务只在表变量更新期间存在。这样就减少了表变量对锁定和记录资源的需求。</li>
<li>6·不支持在表变量之间进行赋值操作。<br />
declare @t1 table(t1 int)<br />
declare @t2 table(t2 int)<br />
set @t1=@t2 &#8211;错误</li>
<li>7·另外，由于表变量作用域有限，并且不是持久数据库的一部分，因而不受事务回滚的影响。</li>
</ul>
</dd>
</dl>
<h3>临时表</h3>
<dl>
<dt>本地临时表</dt>
<dd>本地临时表,本地临时表的名称前面有一个编号符 (#table_name).如果本地临时表由存储过程创建或由多个用户同时执行的应用程序创建，则 SQL Server 必须能够区分由不同用户创建的表。为此，SQL Server 在内部为每个本地临时表的表名追加一个数字后缀。存储在 tempdb 数据库的 sysobjects 表中的临时表，其全名由 CREATE TABLE 语句中指定的表名和系统生成的数字后缀组成。为了允许追加后缀，为本地临时表指定的表名 table_name 不能超过 116 个字符。</p>
<p>除非使用 DROP TABLE 语句显式除去临时表，否则临时表将在退出其作用域时由系统自动除去：</p>
<p>当存储过程完成时，将自动除去在存储过程中创建的本地临时表。由创建表的存储过程执行的所有嵌套存储过程都可以引用此表。但调用创建此表的存储过程的进程无法引用此表。</p>
<p>所有其它本地临时表在当前会话结束时自动除去。
</dd>
<dt>全局临时表</dt>
<dd>全局临时表的名称前面有两个编号符 (##table_name)。<br />
全局临时表在创建此表的会话结束且其它任务停止对其引用时自动除去。任务与表之间的关联只在单个 Transact-SQL 语句的生存周期内保持。<br />
换言之，当创建全局临时表的会话结束时，最后一条引用此表的 Transact-SQL 语句完成后，将自动除去此表。
</dd>
</dl>
<p>在存储过程或触发器中创建的本地临时表与在调用存储过程或触发器之前创建的同名临时表不同。如果查询引用临时表，而同时有两个同名的临时表，则不定义针对哪个表解析该查询。嵌套存储过程同样可以创建与调用它的存储过程所创建的临时表同名的临时表。嵌套存储过程中对表名的所有引用都被解释为是针对该嵌套过程所创建的表。</p>
<p>当创建本地或全局临时表时，CREATE TABLE 语法支持除 FOREIGN KEY 约束以外的其它所有约束定义。如果在临时表中指定 FOREIGN KEY 约束，该语句将返回警告信息，指出此约束已被忽略，表仍会创建，但不具有 FOREIGN KEY 约束。在 FOREIGN KEY 约束中不能引用临时表。<br />
考虑使用表变量而不使用临时表。当需要在临时表上显式地创建索引时，或多个存储过程或函数需要使用表值时，临时表很有用。通常，表变量提供更有效的查询处理。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ourys.com/post/mssql%e8%a1%a8%e5%8f%98%e9%87%8f%e5%92%8c%e4%b8%b4%e6%97%b6%e8%a1%a8.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MS SQL 中的”默认值”详解</title>
		<link>http://www.ourys.com/post/ms-sql-%e4%b8%ad%e7%9a%84%e9%bb%98%e8%ae%a4%e5%80%bc%e8%af%a6%e8%a7%a3.html</link>
		<comments>http://www.ourys.com/post/ms-sql-%e4%b8%ad%e7%9a%84%e9%bb%98%e8%ae%a4%e5%80%bc%e8%af%a6%e8%a7%a3.html#comments</comments>
		<pubDate>Sun, 16 Oct 2011 14:33:44 +0000</pubDate>
		<dc:creator>Hector</dc:creator>
				<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.ourys.com/?p=693</guid>
		<description><![CDATA[-- 说明: T-SQL 中没有"默认值对象"和"默认值约束"的区别, 而是统称为"默认值". 这里仅为了讨论方便.   
--      所谓"默认值对象", 指作为 CREATE DEFAULT 语句的一部分创建的默认值定义;   
--      所谓"默认值约束", 指作为 CREATE TABLE 或 ALTER TABLE 语句的一部分创建的默认值定义.   
-- 注意: 后续版本的 Microsoft SQL Server 将删除由 CREATE DEFAULT 语句创建的默认值定义, 应使用  
--      通过 ALTER TABLE 或 CREATE TABLE 的 DEFAULT 关键字创建的默认定义.   
  
-- 1. 创建"默认值对象"   ]]></description>
			<content:encoded><![CDATA[<blockquote><pre class="brush: sql; title: ; notranslate">
-- 说明: T-SQL 中没有&quot;默认值对象&quot;和&quot;默认值约束&quot;的区别, 而是统称为&quot;默认值&quot;. 这里仅为了讨论方便.
--      所谓&quot;默认值对象&quot;, 指作为 CREATE DEFAULT 语句的一部分创建的默认值定义;
--      所谓&quot;默认值约束&quot;, 指作为 CREATE TABLE 或 ALTER TABLE 语句的一部分创建的默认值定义.
-- 注意: 后续版本的 Microsoft SQL Server 将删除由 CREATE DEFAULT 语句创建的默认值定义, 应使用
--      通过 ALTER TABLE 或 CREATE TABLE 的 DEFAULT 关键字创建的默认定义.   

-- 1. 创建&quot;默认值对象&quot;
create default df_Test as 100;
go   

-- 2. 创建测试表
create table t_Tab1
(
    c1 smallint identity,
    c2 smallint          null                         default 2, -- 作为 CREATE TABLE 语句的一部分创建匿名的&quot;默认值约束&quot;
    c3 smallint          null,
    c4 smallint          null constraint df_t_Tab1_c4 default 4, -- 作为 CREATE TABLE 语句的一部分创建命名的&quot;默认值约束&quot;
    c5 smallint          null,
    c6 smallint          null,
    c7 smallint          null
);   

create table t_Tab2
(
    c1 smallint identity,
    c2 smallint null,
    c3 smallint null
);
go  

-- 3. 作为 ALTER TABLE 语句的一部分创建匿名的和命名的&quot;默认值约束&quot;
alter table t_Tab1 add constraint df_t_Tab1_c6 default 6 for c6;
alter table t_Tab1 add                         default 7 for c7;
go   

-- 4. 将&quot;默认值对象&quot; df_Test 绑定到列上
--     ! 同一个&quot;默认值对象&quot;既可同时绑定到同一个表的不同列上, 也可同时绑定到不同表的列上.
execute sp_bindefault df_Test, N't_Tab1.c3';
execute sp_bindefault df_Test, N't_Tab1.c5';
execute sp_bindefault df_Test, N't_Tab2.c2';
-- 作为 CREATE TABLE 语句的一部分创建的命名的&quot;默认值约束&quot;不能绑定到其它表上.
-- execute sp_bindefault df_t_Tab1_c6, N't_Tab2.c3';   

-- 作为 CREATE DEFAULT 语句的一部分创建的&quot;默认值对象&quot;, 不能通过 ALTER TABLE 绑定到列上.
-- alter table t_Tab1 add df_Test for c3;
-- alter table t_Tab1 add df_Test default for c3;
-- alter table t_Tab1 add constraint df_Test default for c3;
go   

-- 5. 测试默认值
insert into t_Tab1 default values;
insert into t_Tab1 default values;
insert into t_Tab1 default values;
select * from t_Tab1;
go   

insert into t_Tab2 default values;
insert into t_Tab2 default values;
insert into t_Tab2 default values;
select * from t_Tab2;
go    

-- 6. 通过 sys.default_constraints 目录视图, 检测不到作为 CREATE DEFAULT 语句的一部分创建的&quot;默认值对象&quot;.
SELECT sys.objects.name             表名,
       sys.columns.column_id        列ID,
       sys.columns.name             列名,
       sys.default_constraints.name 默认值约束名
FROM sys.default_constraints INNER JOIN sys.columns
    ON sys.default_constraints.parent_object_id = sys.columns.object_id
        AND sys.default_constraints.parent_column_id = sys.columns.column_id
    INNER JOIN sys.objects
    ON sys.columns.[object_id] = sys.objects.[object_id]
WHERE sys.objects.name = N't_Tab1';
go   

-- 7. &quot;默认值对象&quot;, 命名的&quot;默认值约束&quot;, 匿名的&quot;默认值约束&quot;都是&quot;架构范围内的对象&quot;, 并且其 type 均是 D = DEFAULT（约束或独立）.
select name into t_Temp from sys.objects where type = 'D';
select name as [架构范围内 type 为 D 的数据库对象名] from t_Temp;
go   

-- 8. &quot;默认值对象&quot;是&quot;默认值&quot;, 但不是&quot;默认值约束&quot;; 命名或匿名的&quot;默认值约束&quot;不是&quot;默认值&quot;, 却是&quot;默认值约束&quot;.
select name                                                as [架构范围内 type 为 D 的数据库对象名],
       OBJECTPROPERTY(OBJECT_ID(name, N'D'), N'IsDefault') as IsDefault
from t_Temp;   

select name                                                    as [架构范围内 type 为 D 的数据库对象名],
       OBJECTPROPERTY(OBJECT_ID(name, N'D'), N'IsDefaultCnst') as IsDefaultCnst
from t_Temp;   

drop table t_Temp;
go   

-- 9. 为列解除（删除）默认值绑定
--     #1 不能对&quot;表名&quot;使用 sp_unbindefault 来解除其所有列上的默认值绑定
-- execute sp_unbindefault N't_Tab1';
--     #2 解被除绑定了&quot;默认值对象&quot;的列的正确方法
execute sp_unbindefault N't_Tab1.c3';
execute sp_unbindefault N't_Tab1.c5';
execute sp_unbindefault N't_Tab2.c2';
--     #3 对命名或匿名的&quot;默认值约束&quot;, 不能使用 sp_unbindefault 的方法来解除绑定; 需要使用 ALTER TABLE DROP CONSTRAINT 来解除.
-- execute sp_unbindefault N't_Tab1.c2';
-- execute sp_unbindefault N't_Tab1.c4';
go   

-- 10. 要删除用户定义的默认值(即, &quot;默认值对象&quot;), 必须首先解除它与列的绑定.
--     这里 df_Test 与列绑定的解除已经在 9 中完成, 所以可以删除了.
drop default df_Test;
go   

-- 11. 删除绑定了默认值的列
--     说明: 假如一个列上绑定了默认值, 则删除该列之前, 必须先解除其默认值绑定.
--          如果绑定的是&quot;默认值对象&quot;, 通过 sp_unbindefault 来解除;
--          如果绑定的是&quot;默认值约束&quot;(命名或匿名的), 通过 ALTER TABLE DROP CONSTRAINT 来解除.   

-- 12. 删除表创建的数据库对象
drop table t_Tab1;
drop table t_Tab2;
go   

执行结果:
已将默认值绑定到列。
已将默认值绑定到列。
已将默认值绑定到列。  

(1 行受影响)  

(1 行受影响)  

(1 行受影响)
c1     c2     c3     c4     c5     c6     c7
------ ------ ------ ------ ------ ------ ------
1      2      100    4      100    6      7
2      2      100    4      100    6      7
3      2      100    4      100    6      7  

(3 行受影响)  

(1 行受影响)  

(1 行受影响)  

(1 行受影响)
c1     c2     c3
------ ------ ------
1      100    NULL
2      100    NULL
3      100    NULL  

(3 行受影响)  

表名       列ID      列名        默认值约束名
-------- -------- --------- --------------------------
t_Tab1   2        c2        DF__t_Tab1__c2__3AD78439
t_Tab1   4        c4        df_t_Tab1_c4
t_Tab1   6        c6        df_t_Tab1_c6
t_Tab1   7        c7        DF__t_Tab1__c7__3EA8151D  

(4 行受影响)  

(5 行受影响)
架构范围内 type 为 D 的数据库对象名
-------------------------------------
df_Test
DF__t_Tab1__c2__3AD78439
df_t_Tab1_c4
df_t_Tab1_c6
DF__t_Tab1__c7__3EA8151D  

(5 行受影响)  

架构范围内 type 为 D 的数据库对象名       IsDefault
------------------------------------- -----------
df_Test                               1
DF__t_Tab1__c2__3AD78439              0
df_t_Tab1_c4                          0
df_t_Tab1_c6                          0
DF__t_Tab1__c7__3EA8151D              0  

(5 行受影响)  

架构范围内 type 为 D 的数据库对象名       IsDefaultCnst
------------------------------------- -------------
df_Test                               0
DF__t_Tab1__c2__3AD78439              1
df_t_Tab1_c4                          1
df_t_Tab1_c6                          1
DF__t_Tab1__c7__3EA8151D              1  

(5 行受影响)  

已解除了表列与其默认值之间的绑定。
已解除了表列与其默认值之间的绑定。
已解除了表列与其默认值之间的绑定。  </pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ourys.com/post/ms-sql-%e4%b8%ad%e7%9a%84%e9%bb%98%e8%ae%a4%e5%80%bc%e8%af%a6%e8%a7%a3.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Choose a cheap web hosting</title>
		<link>http://www.ourys.com/post/choose-a-cheap-web-hosting.html</link>
		<comments>http://www.ourys.com/post/choose-a-cheap-web-hosting.html#comments</comments>
		<pubDate>Thu, 13 Oct 2011 17:15:23 +0000</pubDate>
		<dc:creator>Hector</dc:creator>
				<category><![CDATA[IT杂谈]]></category>
		<category><![CDATA[软软的]]></category>

		<guid isPermaLink="false">http://www.ourys.com/?p=699</guid>
		<description><![CDATA[<h4>Windows or linux?</h4>
Windows hosting providers need to pay a large licensing fees to Microsoft, so the price is expensive. If you are not using asp or . Net program or other program must to run in windows, it is recommended not to select the Windows hosting. linux and unix hosting is a good choice, their prices are very cheap, also very dominant performance .
<h4>Type of hosting</h4>
If your website consume fewer resources, such as under 3k ip every day. you can choose Share Hosting (or called web Hosting). Shared hosting is divided the hard disk into several regions to sell, set up multiple sites on a server, all the sites shared CPU, memory, bandwidth and other resources. Shared hosting only allows One person to use, divide space to sell others is prohibited, but the price is the cheapest.]]></description>
			<content:encoded><![CDATA[<h4>Windows or linux?</h4>
<p>Windows hosting providers need to pay a large licensing fees to Microsoft, so the price is expensive. If you are not using asp or . Net program or other program must to run in windows, it is recommended not to select the Windows hosting. linux and unix hosting is a good choice, their prices are very cheap, also very dominant performance .</p>
<h4>Type of hosting</h4>
<p>If your website consume fewer resources, such as under 3k ip every day. you can choose Share Hosting (or called web Hosting). Shared hosting is divided the hard disk into several regions to sell, set up multiple sites on a server, all the sites shared CPU, memory, bandwidth and other resources. Shared hosting only allows One person to use, divide space to sell others is prohibited, but the price is the cheapest.<br />
If your site is a little larger consumption of resources. You can choose to a cloud hosting, their prices are very cheap, only slightly more expensive than shared hosting. Such as GoDaddy’s Grid hosting , provided by the multi-server load balancing.<br />
If you need more resources, you can choose Reseller Hosting or VPS, still more is Dedicated Server.</p>
<p>Go directly to the official website to buy, and find some discount codes by google. Find a <a href="http://webhostingcolumns.com/cheap-web-hosting/">cheap website host</a> is easy , but find  a cheap and practical one is difficult.</p>
<h4>Translate by Google:</h4>
<p>Windows或Linux？<br />
Windows主机提供商需要向微软支付一大笔许可费，因此价格昂贵。如果你不使用ASP。 NET程序或其他程序必须运行在Windows，它是建议不要选择Windows主机。Linux和UNIX主机是一个不错的选择，它们的价格很便宜，性能也很有优势。<br />
主办类型<br />
如果您的网站更少的资源，如每天消耗下3K IP。你可以选择共享主机（或称为网络托管）。共享主机的硬盘分为几个地区销售，在服务器上设置多个站点，所有共享的CPU，内存，带宽和其他资源的网站。共享主机只允许一个人使用，划分空间卖给别人是禁止的，但价格是最便宜的的。<br />
如果您的网站是对资源的消耗较大一点。你可以选择到云托管，其价格是非常便宜的，仅略超过共享主机昂贵。 GoDaddy的网格主机通过提供多服务器负载均衡，这样的。<br />
如果你需要更多的资源，你可以选择经销商主机或VPS，更是专用服务器。</p>
<p>直接去官方网站购买，并通过谷歌找到一些折扣代码。找到一个便宜的网站主机很容易，但找到一种廉价和实用的一个困难。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ourys.com/post/choose-a-cheap-web-hosting.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>delphi程序文件后缀名</title>
		<link>http://www.ourys.com/post/delphi%e7%a8%8b%e5%ba%8f%e6%96%87%e4%bb%b6%e5%90%8e%e7%bc%80%e5%90%8d.html</link>
		<comments>http://www.ourys.com/post/delphi%e7%a8%8b%e5%ba%8f%e6%96%87%e4%bb%b6%e5%90%8e%e7%bc%80%e5%90%8d.html#comments</comments>
		<pubDate>Wed, 12 Oct 2011 17:10:51 +0000</pubDate>
		<dc:creator>Hector</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[后缀名]]></category>

		<guid isPermaLink="false">http://www.ourys.com/?p=687</guid>
		<description><![CDATA[扩展名     英文解释                     文件内容HWez
BPG        Borland Project Group        工程项目包, 多个工程文件DPR的集合ja
DPR        Delphi Project               应用系统的工程文件&#38;amp;-kyJ
PAS        Pascal File                  单元文件,存放Pascal源代码%N[4+
DFM        Delphi form File             窗体界面文件, 同PAS文件同名,而且一一对应, 定义了窗体属性和构件的属性Bt"rl5
DOF        Delphi Option File           选项文件, 包括编译信息等, 是一个文本文件件,可以看看%Xu[r2
CFG        Project Configuration File   编译器可读的配置文件1D1Y
DSK        Desktop Setting File         保存工程文件的桌面摆布情况, 下次打开时可以恢复上次保存的桌面状态S?K
DSM                                     集成开发环境IDE的临时保存文件, 有时IDE总出错, 可以将这个文件删掉, 系统会重新生成l)dO
RES        Resource File                Windows 的资源文件, 可以定义光标, 位图, 图标资源, 可以使用ImageEditor编辑T
DCU        Delphi Compile Unit          编译后的单元文件, 程序连接时需要它,{
DLL        Dymanic-link libraries       Windows 动态链接库\~
EXE        Executable File              编译生成的可执行文件:bm!A@
DPK        Delphi Packge Source         包文件的源代码K(i
BPL        Borland Package library      包, 是一种特殊的DLL文件, 用于代码重用和减少可执行文件的长度]]></description>
			<content:encoded><![CDATA[<pre>扩展名     英文解释                     文件内容HWez
BPG        Borland Project Group        工程项目包, 多个工程文件DPR的集合ja
DPR        Delphi Project               应用系统的工程文件&amp;amp;-kyJ
PAS        Pascal File                  单元文件,存放Pascal源代码%N[4+
DFM        Delphi form File             窗体界面文件, 同PAS文件同名,而且一一对应, 定义了窗体属性和构件的属性Bt"rl5
DOF        Delphi Option File           选项文件, 包括编译信息等, 是一个文本文件件,可以看看%Xu[r2
CFG        Project Configuration File   编译器可读的配置文件1D1Y
DSK        Desktop Setting File         保存工程文件的桌面摆布情况, 下次打开时可以恢复上次保存的桌面状态S?K
DSM                                     集成开发环境IDE的临时保存文件, 有时IDE总出错, 可以将这个文件删掉, 系统会重新生成l)dO
RES        Resource File                Windows 的资源文件, 可以定义光标, 位图, 图标资源, 可以使用ImageEditor编辑T
DCU        Delphi Compile Unit          编译后的单元文件, 程序连接时需要它,{
DLL        Dymanic-link libraries       Windows 动态链接库\~
EXE        Executable File              编译生成的可执行文件:bm!A@
DPK        Delphi Packge Source         包文件的源代码K(i
BPL        Borland Package library      包, 是一种特殊的DLL文件, 用于代码重用和减少可执行文件的长度</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ourys.com/post/delphi%e7%a8%8b%e5%ba%8f%e6%96%87%e4%bb%b6%e5%90%8e%e7%bc%80%e5%90%8d.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Chinese Web site to choose the foreign web hosting</title>
		<link>http://www.ourys.com/post/why-chinese-web-site-to-choose-the-foreign-web-hosting.html</link>
		<comments>http://www.ourys.com/post/why-chinese-web-site-to-choose-the-foreign-web-hosting.html#comments</comments>
		<pubDate>Tue, 11 Oct 2011 17:19:22 +0000</pubDate>
		<dc:creator>Hector</dc:creator>
				<category><![CDATA[IT杂谈]]></category>
		<category><![CDATA[软软的]]></category>

		<guid isPermaLink="false">http://www.ourys.com/?p=682</guid>
		<description><![CDATA[Creating a web presence is an essential consideration in the modern world. Without a viable presence in the online environment, you are cutting yourself out of invaluable revenue streams. With China’s Internet censorship increasingly stringent, more and more webmaster want to get a foreign web hosting .

More hosting providers reduce the price of their hosts, many are under 5 dollars. In order to get the trust of users, Some of them promise 90-Day FULL Money Back Guarantee.]]></description>
			<content:encoded><![CDATA[<p>Creating a web presence is an essential consideration in the modern world. Without a viable presence in the online environment, you are cutting yourself out of invaluable revenue streams. With China’s Internet censorship increasingly stringent, more and more webmaster want to get a foreign web hosting .</p>
<p>More hosting providers reduce the price of their hosts, many are under 5 dollars. In order to get the trust of users, Some of them promise 90-Day FULL Money Back Guarantee.</p>
<p>But the choice of an appropriate virtual host is not a simple task.  Although now many <a href="http://www.webhostingpal.com/support/beginner-web-hosting-guide.php">web hosting guide</a> websites help you to choose, we are still a lot to be learned. First, we are looking for a convenient payment host provider.Secondly, we look at web hosting features. We need to have enough disk space host storage content of our site, enough Bandwidth for users. To facilitate the management, we may also need to FTP or SSH account.</p>
<p>In this basis,find a  <a href="http://www.webhostingpal.com/support/beginner-web-hosting-guide.php">web hosting guide</a> websites , compare performance and price, select a suitable web hosting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ourys.com/post/why-chinese-web-site-to-choose-the-foreign-web-hosting.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mssql别名在注册表中的信息</title>
		<link>http://www.ourys.com/post/mssql%e5%88%ab%e5%90%8d%e5%9c%a8%e6%b3%a8%e5%86%8c%e8%a1%a8%e4%b8%ad%e7%9a%84%e4%bf%a1%e6%81%af.html</link>
		<comments>http://www.ourys.com/post/mssql%e5%88%ab%e5%90%8d%e5%9c%a8%e6%b3%a8%e5%86%8c%e8%a1%a8%e4%b8%ad%e7%9a%84%e4%bf%a1%e6%81%af.html#comments</comments>
		<pubDate>Thu, 06 Oct 2011 12:33:42 +0000</pubDate>
		<dc:creator>Hector</dc:creator>
				<category><![CDATA[数据库]]></category>
		<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[注册表]]></category>

		<guid isPermaLink="false">http://www.ourys.com/?p=675</guid>
		<description><![CDATA[别名的位置：

hkey_local_machine-software-Microsoft--MSSQLSERVER-Client-ConnectTo

别名的格式;

名称：数据库别名名称
类型：REG_SZ
数值：
DBMSSOCN,主机地址,端口
比如：DBMSSOCN,192.168.1.111,8000]]></description>
			<content:encoded><![CDATA[<p><strong>别名的位置：</strong></p>
<blockquote><p>hkey_local_machine-software-Microsoft&#8211;<span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/mssql" title="查看 MSSQL 中的全部文章" target="_blank">MSSQL</a></span>SERVER-Client-ConnectTo</p></blockquote>
<p><strong>别名的格式：</strong></p>
<blockquote><p>名称：数据库别名名称<br />
类型：REG_SZ<br />
数值：<br />
DBMSSOCN,主机地址,端口<br />
比如：DBMSSOCN,192.168.1.111,8000</p></blockquote>
<p><strong>自动导入脚本：</strong></p>
<blockquote><p>Windows Registry Editor Version 5.00</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\<span class='wp_keywordlink_affiliate'><a href="http://www.ourys.com/tags/mssql" title="查看 MSSQL 中的全部文章" target="_blank">MSSQL</a></span>Server\Client\ConnectTo]<br />
“SQL2005TCP”=”DBMSSOCN,192.168.1.111,8000&#8243;</p></blockquote>
<p>另存为reg后缀的文件即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ourys.com/post/mssql%e5%88%ab%e5%90%8d%e5%9c%a8%e6%b3%a8%e5%86%8c%e8%a1%a8%e4%b8%ad%e7%9a%84%e4%bf%a1%e6%81%af.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.406 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-17 10:30:32 -->

