﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-乔栋的佛国-随笔分类-数据库</title><link>http://www.cppblog.com/qiaodong/category/3345.html</link><description>耶路撒冷对你来说意味着什么？</description><language>zh-cn</language><lastBuildDate>Thu, 22 May 2008 17:38:06 GMT</lastBuildDate><pubDate>Thu, 22 May 2008 17:38:06 GMT</pubDate><ttl>60</ttl><item><title>mysql 字段详解</title><link>http://www.cppblog.com/qiaodong/archive/2007/07/19/28355.html</link><dc:creator>乔栋</dc:creator><author>乔栋</author><pubDate>Thu, 19 Jul 2007 06:42:00 GMT</pubDate><guid>http://www.cppblog.com/qiaodong/archive/2007/07/19/28355.html</guid><wfw:comment>http://www.cppblog.com/qiaodong/comments/28355.html</wfw:comment><comments>http://www.cppblog.com/qiaodong/archive/2007/07/19/28355.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiaodong/comments/commentRss/28355.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiaodong/services/trackbacks/28355.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 12pt">MySQL支持大量的列类型，它可以被分为3类：数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述，并且总结每个列类型的存储需求，然后提供每个类中的类型性质的更详细的描述。概述有意简化，更详细的说明应该考虑到有关特定列类型的附加信息，例如你能为其指定值的允许格式。 <br><br>由MySQL支持的列类型列在下面。下列代码字母用于描述中： <br><br>M <br>指出最大的显示尺寸。最大的合法的显示尺寸是 255 。 <br>D <br>适用于浮点类型并且指出跟随在十进制小数点后的数码的数量。最大可能的值是30，但是应该不大于M-2。 <br>方括号(&#8220;[&#8221;和&#8220;]&#8221;)指出可选的类型修饰符的部分。 <br><br>注意，如果你指定一个了为ZEROFILL，MySQL将为该列自动地增加UNSIGNED属性。 <br><br>TINYINT[(M)] [UNSIGNED] [ZEROFILL] <br>一个很小的整数。有符号的范围是-128到127，无符号的范围是0到255。 <br><br><br>SMALLINT[(M)] [UNSIGNED] [ZEROFILL] <br>一个小整数。有符号的范围是-32768到32767，无符号的范围是0到65535。 <br><br>MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] <br>一个中等大小整数。有符号的范围是-8388608到8388607，无符号的范围是0到16777215。 <br><br>INT[(M)] [UNSIGNED] [ZEROFILL] <br>一个正常大小整数。有符号的范围是-2147483648到2147483647，无符号的范围是0到4294967295。 <br><br>INTEGER[(M)] [UNSIGNED] [ZEROFILL] <br>这是INT的一个同义词。 <br><br>BIGINT[(M)] [UNSIGNED] [ZEROFILL] <br><br>一个大整数。有符号的范围是-9223372036854775808到9223372036854775807，无符号的范围是0到 <br><br>18446744073709551615。注意，所有算术运算用有符号的BIGINT或DOUBLE值完成，因此你不应该使用大于9223372036854775807（63位)的有符号大整数，除了位函数！注意，当两个参数是INTEGER值时，-、+和*将使用BIGINT运算！这意味着如果你乘2个大整数(或来自于返回整数的函数)，如果结果大于9223372036854775807，你可以得到意外的结果。一个浮点数字，不能是无符号的，对一个单精度浮点数，其精度可以是&lt;=24，对一个双精度浮点数，是在25 和53之间，这些类型如FLOAT和DOUBLE类型马上在下面描述。FLOAT(X)有对应的FLOAT和DOUBLE相同的范围，但是显示尺寸和小数位数是未定义的。在MySQL3.23中，这是一个真正的浮点值。在更早的MySQL版本中，FLOAT(precision)总是有2位小数。该句法为了ODBC兼容性而提供。 <br><br>FLOAT[(M,D)] [ZEROFILL] <br>一个小(单精密)浮点数字。不能无符号。允许的值是-3.402823466E+38到-1.175494351E-38，0 和1.175494351E-38到3.402823466E+38。M是显示宽度而D是小数的位数。没有参数的FLOAT或有&lt;24 的一个参数表示一个单精密浮点数字。 <br><br>DOUBLE[(M,D)] [ZEROFILL] <br>一个正常大小(双精密)浮点数字。不能无符号。允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308。M是显示宽度而D是小数位数。没有一个参数的DOUBLE或FLOAT(X)（25 &lt; = X &lt; = 53）代表一个双精密浮点数字。 <br><br>DOUBLE PRECISION[(M,D)] [ZEROFILL] <br><br><br>REAL[(M,D)] [ZEROFILL] <br>这些是DOUBLE同义词。 <br><br>DECIMAL[(M[,D])] [ZEROFILL] <br>一个未压缩(unpack)的浮点数字。不能无符号。行为如同一个CHAR列：&#8220;未压缩&#8221;意味着数字作为一个字符串被存储，值的每一位使用一个字符。小数点，并且对于负数，&#8220;-&#8221;符号不在M中计算。如果D是0，值将没有小数点或小数部分。DECIMAL值的最大范围与DOUBLE相同，但是对一个给定的DECIMAL列，实际的范围可以通过M和D的选择被限制。如果D被省略，它被设置为0。如果M被省掉，它被设置为10。注意，在MySQL3.22里，M参数包括符号和小数点。 <br><br>NUMERIC(M,D) [ZEROFILL] <br>这是DECIMAL的一个同义词。 <br><br>DATE <br>一个日期。支持的范围是'1000-01-01'到'9999-12-31'。MySQL以'YYYY-MM-DD'格式来显示DATE值，但是允许你使用字符串或数字把值赋给DATE列。 <br><br>DATETIME <br>一个日期和时间组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式来显示DATETIME值，但是允许你使用字符串或数字把值赋给DATETIME的列。 <br><br>TIMESTAMP[(M)] <br>一个时间戳记。范围是'1970-01-01 00:00:00'到2037年的某时。MySQL以YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD或YYMMDD格式来显示TIMESTAMP值，取决于是否M是14（或省略)、12、8或6，但是允许你使用字符串或数字把值赋给TIMESTAMP列。一个TIMESTAMP列对于记录一个INSERT或UPDATE操作的日期和时间是有用的，因为如果你不自己给它赋值，它自动地被设置为最近操作的日期和时间。你以可以通过赋给它一个NULL值设置它为当前的日期和时间。 <br>TIME <br>一个时间。范围是'-838:59:59'到'838:59:59'。MySQL以'HH:MM:SS'格式来显示TIME值，但是允许你使用字符串或数字把值赋给TIME列。 <br><br>YEAR[(2|4)] <br>一个2或4位数字格式的年(缺省是4位)。允许的值是1901到2155，和0000（4位年格式），如果你使用2位，1970-2069( 70-69)。MySQL以YYYY格式来显示YEAR值，但是允许你把使用字符串或数字值赋给YEAR列。（YEAR类型在MySQL3.22中是新类型。） <br><br>CHAR(M) [BINARY] <br>一个定长字符串，当存储时，总是是用空格填满右边到指定的长度。M的范围是1 ～ 255个字符。当值被检索时，空格尾部被删除。CHAR值根据缺省字符集以大小写不区分的方式排序和比较，除非给出BINARY关键词。NATIONAL CHAR（短形式NCHAR)是ANSI SQL的方式来定义CHAR列应该使用缺省字符集。这是MySQL的缺省。CHAR是CHARACTER的一个缩写。 <br><br>[NATIONAL] VARCHAR(M) [BINARY] <br>一个变长字符串。注意：当值被存储时，尾部的空格被删除(这不同于ANSI SQL规范)。M的范围是1 ～ 255个字符。 VARCHAR值根据缺省字符集以大小写不区分的方式排序和比较，除非给出BINARY关键词值。 VARCHAR是CHARACTER VARYING一个缩写。 <br><br>TINYBLOB <br><br>TINYTEXT <br>一个BLOB或TEXT列，最大长度为255(2^8-1)个字符。 <br>BLOB <br><br><br>TEXT <br>一个BLOB或TEXT列，最大长度为65535(2^16-1)个字符。 <br><br>MEDIUMBLOB <br><br>MEDIUMTEXT <br>一个BLOB或TEXT列，最大长度为16777215(2^24-1)个字符。 <br>LONGBLOB <br><br>LONGTEXT <br>一个BLOB或TEXT列，最大长度为4294967295(2^32-1)个字符。 <br><br>ENUM('value1','value2',...) <br>枚举。一个仅有一个值的字符串对象，这个值式选自与值列表'value1'、'value2', ...,或NULL。一个ENUM最多能有65535不同的值。 <br><br>SET('value1','value2',...) <br>一个集合。能有零个或多个值的一个字符串对象，其中每一个必须从值列表'value1', 'value2', ...选出。一个SET最多能有64个成员。</span>
<img src ="http://www.cppblog.com/qiaodong/aggbug/28355.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiaodong/" target="_blank">乔栋</a> 2007-07-19 14:42 <a href="http://www.cppblog.com/qiaodong/archive/2007/07/19/28355.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql无法远程连接的问题</title><link>http://www.cppblog.com/qiaodong/archive/2007/03/16/19956.html</link><dc:creator>乔栋</dc:creator><author>乔栋</author><pubDate>Fri, 16 Mar 2007 03:59:00 GMT</pubDate><guid>http://www.cppblog.com/qiaodong/archive/2007/03/16/19956.html</guid><wfw:comment>http://www.cppblog.com/qiaodong/comments/19956.html</wfw:comment><comments>http://www.cppblog.com/qiaodong/archive/2007/03/16/19956.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiaodong/comments/commentRss/19956.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiaodong/services/trackbacks/19956.html</trackback:ping><description><![CDATA[数据库安装后的root的用户只是对本机具有全部的权限,但是不具备客户机的连接<br /><br />当无法远程连接的时候,建议新建一个用户,并确具有全部权限,问题一般可以得到解决.<br /><br /><br /><img src ="http://www.cppblog.com/qiaodong/aggbug/19956.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiaodong/" target="_blank">乔栋</a> 2007-03-16 11:59 <a href="http://www.cppblog.com/qiaodong/archive/2007/03/16/19956.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VC 下连接mysql数据库 </title><link>http://www.cppblog.com/qiaodong/archive/2007/03/07/19368.html</link><dc:creator>乔栋</dc:creator><author>乔栋</author><pubDate>Wed, 07 Mar 2007 08:29:00 GMT</pubDate><guid>http://www.cppblog.com/qiaodong/archive/2007/03/07/19368.html</guid><wfw:comment>http://www.cppblog.com/qiaodong/comments/19368.html</wfw:comment><comments>http://www.cppblog.com/qiaodong/archive/2007/03/07/19368.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiaodong/comments/commentRss/19368.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiaodong/services/trackbacks/19368.html</trackback:ping><description><![CDATA[步骤如下：<br />1：在安装好mysql 5.0<br />2:   安装GUI管理工具，我用的的是mysql -front<br />3:   安装好驱动，这里我使用的是mysql-connector-odbc-3.51.12-win32，这个可以在mysql官网下载到<br />4：连接字符串："Driver={mySQL ODBC 3.51 Driver};Server=localhost;"<br />  "Port=3306;Option=4;Database=storage;Uid=sa;Pwd=;"<br />         IP地址为：localhost ;端口为：3306；选项默认为:4 ; 数据库名：storage; 用户名：sa; 密码为空<br /><br />另外在.net平台下连接mysql　可以参照下面这篇文章:<br /><br /><a href="http://www.microsoft.com/china/community/Columns/Luyan/6.mspx">http://www.microsoft.com/china/community/Columns/Luyan/6.mspx</a><br /><br />总体感觉mysql 是中小企业设计数据管理必须的系统, 希望大家都能做好.<br /><br /><br /><br /><br /><br /><br /><br /><br /><img src ="http://www.cppblog.com/qiaodong/aggbug/19368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiaodong/" target="_blank">乔栋</a> 2007-03-07 16:29 <a href="http://www.cppblog.com/qiaodong/archive/2007/03/07/19368.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自定义自动编号（补号与非补号）</title><link>http://www.cppblog.com/qiaodong/archive/2007/03/06/19293.html</link><dc:creator>乔栋</dc:creator><author>乔栋</author><pubDate>Tue, 06 Mar 2007 05:38:00 GMT</pubDate><guid>http://www.cppblog.com/qiaodong/archive/2007/03/06/19293.html</guid><wfw:comment>http://www.cppblog.com/qiaodong/comments/19293.html</wfw:comment><comments>http://www.cppblog.com/qiaodong/archive/2007/03/06/19293.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiaodong/comments/commentRss/19293.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiaodong/services/trackbacks/19293.html</trackback:ping><description><![CDATA[
		<span style="COLOR: #008080">--</span>
		<span style="COLOR: #008080">建表语句</span>
		<span style="COLOR: #008080">
				<br />
		</span>
		<span style="COLOR: #0000ff">CREATE</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">TABLE</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">MyTable</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000"> (<br />    </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">MyId</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">varchar</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000"> (</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">50</span>
		<span style="COLOR: #000000">) COLLATE Chinese_PRC_CI_AS </span>
		<span style="COLOR: #0000ff">NULL</span>
		<span style="COLOR: #000000"> ,<br />    </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">MyName</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">varchar</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000"> (</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">50</span>
		<span style="COLOR: #000000">) COLLATE Chinese_PRC_CI_AS </span>
		<span style="COLOR: #0000ff">NULL</span>
		<span style="COLOR: #000000"> <br />) </span>
		<span style="COLOR: #0000ff">ON</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">PRIMARY</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000">
				<br />
		</span>
		<span style="COLOR: #0000ff">GO</span>
		<span style="COLOR: #000000">
				<br />
				<br />
		</span>
		<span style="COLOR: #008080">--</span>
		<span style="COLOR: #008080">得到新的编号（不考虑补号）</span>
		<span style="COLOR: #008080">
				<br />
		</span>
		<span style="COLOR: #0000ff">create</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">function</span>
		<span style="COLOR: #000000"> f_NextID(</span>
		<span style="COLOR: #008000">@myDate</span>
		<span style="COLOR: #000000"> </span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">datetime</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">Returns</span>
		<span style="COLOR: #000000"> </span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">12</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">as</span>
		<span style="COLOR: #000000">
				<br />
		</span>
		<span style="COLOR: #0000ff">begin</span>
		<span style="COLOR: #000000"> <br />    </span>
		<span style="COLOR: #0000ff">Declare</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@temp</span>
		<span style="COLOR: #000000"> </span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">6</span>
		<span style="COLOR: #000000">)<br />     </span>
		<span style="COLOR: #0000ff">Declare</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@ret</span>
		<span style="COLOR: #000000"> </span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">12</span>
		<span style="COLOR: #000000">)<br />    </span>
		<span style="COLOR: #0000ff">set</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@temp</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #ff00ff">Substring</span>
		<span style="COLOR: #000000">(</span>
		<span style="COLOR: #ff00ff">Convert</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">,</span>
		<span style="COLOR: #008000">@myDate</span>
		<span style="COLOR: #000000">),</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">9</span>
		<span style="COLOR: #000000">,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">2</span>
		<span style="COLOR: #000000">)</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #ff00ff">Substring</span>
		<span style="COLOR: #000000">(</span>
		<span style="COLOR: #ff00ff">Convert</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">,</span>
		<span style="COLOR: #008000">@myDate</span>
		<span style="COLOR: #000000">),</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">1</span>
		<span style="COLOR: #000000">,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">2</span>
		<span style="COLOR: #000000">)</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #ff00ff">Substring</span>
		<span style="COLOR: #000000">(</span>
		<span style="COLOR: #ff00ff">Convert</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">,</span>
		<span style="COLOR: #008000">@myDate</span>
		<span style="COLOR: #000000">),</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">4</span>
		<span style="COLOR: #000000">,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">2</span>
		<span style="COLOR: #000000">)<br />    </span>
		<span style="COLOR: #0000ff">if</span>
		<span style="COLOR: #000000">(</span>
		<span style="COLOR: #008000">@temp</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #808080">in</span>
		<span style="COLOR: #000000"> (</span>
		<span style="COLOR: #0000ff">SELECT</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">distinct</span>
		<span style="COLOR: #000000"> myid</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #ff00ff">left</span>
		<span style="COLOR: #000000">(myid,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">6</span>
		<span style="COLOR: #000000">) </span>
		<span style="COLOR: #0000ff">FROM</span>
		<span style="COLOR: #000000"> mytable </span>
		<span style="COLOR: #0000ff">WITH</span>
		<span style="COLOR: #000000">(XLOCK,PAGLOCK)))<br />            </span>
		<span style="COLOR: #0000ff">Select</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@ret</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #008000">@temp</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #ff00ff">right</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">1000001</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #ff00ff">Isnull</span>
		<span style="COLOR: #000000">(</span>
		<span style="COLOR: #ff00ff">Max</span>
		<span style="COLOR: #000000">(</span>
		<span style="COLOR: #ff00ff">Right</span>
		<span style="COLOR: #000000">(MyID,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">6</span>
		<span style="COLOR: #000000">)),</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">0</span>
		<span style="COLOR: #000000">),</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">6</span>
		<span style="COLOR: #000000">) </span>
		<span style="COLOR: #0000ff">from</span>
		<span style="COLOR: #000000"> Mytable </span>
		<span style="COLOR: #0000ff">with</span>
		<span style="COLOR: #000000">(xlock,paglock) </span>
		<span style="COLOR: #0000ff">where</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@temp</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #ff00ff">left</span>
		<span style="COLOR: #000000">(MyID,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">6</span>
		<span style="COLOR: #000000">)<br />    </span>
		<span style="COLOR: #0000ff">else</span>
		<span style="COLOR: #000000">
				<br />        </span>
		<span style="COLOR: #0000ff">Select</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@ret</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #008000">@temp</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">000001</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">from</span>
		<span style="COLOR: #000000"> Mytable </span>
		<span style="COLOR: #0000ff">with</span>
		<span style="COLOR: #000000">(xlock,paglock)<br />    </span>
		<span style="COLOR: #0000ff">return</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@ret</span>
		<span style="COLOR: #000000">
				<br />
		</span>
		<span style="COLOR: #0000ff">end</span>
		<span style="COLOR: #000000"> <br /></span>
		<span style="COLOR: #0000ff">GO</span>
		<span style="COLOR: #000000">
				<br />
				<br />
				<br />
		</span>
		<span style="COLOR: #0000ff">drop</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">table</span>
		<span style="COLOR: #000000"> MyTable<br /></span>
		<span style="COLOR: #008080">--</span>
		<span style="COLOR: #008080">建表语句</span>
		<span style="COLOR: #008080">
				<br />
		</span>
		<span style="COLOR: #0000ff">CREATE</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">TABLE</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">MyTable</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000"> (<br />    </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">MyId</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">varchar</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000"> (</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">50</span>
		<span style="COLOR: #000000">) COLLATE Chinese_PRC_CI_AS </span>
		<span style="COLOR: #0000ff">NULL</span>
		<span style="COLOR: #000000"> ,<br />    </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">MyName</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">varchar</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000"> (</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">50</span>
		<span style="COLOR: #000000">) COLLATE Chinese_PRC_CI_AS </span>
		<span style="COLOR: #0000ff">NULL</span>
		<span style="COLOR: #000000"> <br />) </span>
		<span style="COLOR: #0000ff">ON</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #ff0000">[</span>
		<span style="COLOR: #ff0000">PRIMARY</span>
		<span style="COLOR: #ff0000">]</span>
		<span style="COLOR: #000000">
				<br />
		</span>
		<span style="COLOR: #0000ff">GO</span>
		<span style="COLOR: #000000">
				<br />
				<br />
		</span>
		<span style="COLOR: #008080">--</span>
		<span style="COLOR: #008080">得到新的编号（融合了补号处理）</span>
		<span style="COLOR: #008080">
				<br />
		</span>
		<span style="COLOR: #0000ff">create</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">FUNCTION</span>
		<span style="COLOR: #000000"> f_NextNewID(</span>
		<span style="COLOR: #008000">@myDate</span>
		<span style="COLOR: #000000"> </span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">datetime</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">RETURNS</span>
		<span style="COLOR: #000000"> </span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">12</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">AS</span>
		<span style="COLOR: #000000">
				<br />
		</span>
		<span style="COLOR: #0000ff">BEGIN</span>
		<span style="COLOR: #000000">
				<br />    </span>
		<span style="COLOR: #0000ff">Declare</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@temp</span>
		<span style="COLOR: #000000"> </span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">6</span>
		<span style="COLOR: #000000">)<br />     </span>
		<span style="COLOR: #0000ff">Declare</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@ret</span>
		<span style="COLOR: #000000"> </span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">12</span>
		<span style="COLOR: #000000">)<br />    </span>
		<span style="COLOR: #0000ff">set</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@temp</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #ff00ff">Substring</span>
		<span style="COLOR: #000000">(</span>
		<span style="COLOR: #ff00ff">Convert</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">,</span>
		<span style="COLOR: #008000">@myDate</span>
		<span style="COLOR: #000000">),</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">9</span>
		<span style="COLOR: #000000">,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">2</span>
		<span style="COLOR: #000000">)</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #ff00ff">Substring</span>
		<span style="COLOR: #000000">(</span>
		<span style="COLOR: #ff00ff">Convert</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">,</span>
		<span style="COLOR: #008000">@myDate</span>
		<span style="COLOR: #000000">),</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">1</span>
		<span style="COLOR: #000000">,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">2</span>
		<span style="COLOR: #000000">)</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #ff00ff">Substring</span>
		<span style="COLOR: #000000">(</span>
		<span style="COLOR: #ff00ff">Convert</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">,</span>
		<span style="COLOR: #008000">@myDate</span>
		<span style="COLOR: #000000">),</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">4</span>
		<span style="COLOR: #000000">,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">2</span>
		<span style="COLOR: #000000">)<br />    </span>
		<span style="COLOR: #0000ff">DECLARE</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@r</span>
		<span style="COLOR: #000000"> </span>
		<span style="FONT-WEIGHT: bold; COLOR: #000000">char</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">12</span>
		<span style="COLOR: #000000">)<br />    <br />    </span>
		<span style="COLOR: #0000ff">SELECT</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #008000">@r</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #008000">@temp</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #ff00ff">RIGHT</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">1000001</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #ff00ff">MIN</span>
		<span style="COLOR: #000000">(MyId),</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">6</span>
		<span style="COLOR: #000000">)<br />    </span>
		<span style="COLOR: #0000ff">FROM</span>
		<span style="COLOR: #000000">(<br />        </span>
		<span style="COLOR: #0000ff">SELECT</span>
		<span style="COLOR: #000000"> MyId</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #ff00ff">RIGHT</span>
		<span style="COLOR: #000000">(MyId,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">6</span>
		<span style="COLOR: #000000">) </span>
		<span style="COLOR: #0000ff">FROM</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">WITH</span>
		<span style="COLOR: #000000">(XLOCK,PAGLOCK)<br />        </span>
		<span style="COLOR: #0000ff">UNION</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #808080">ALL</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">SELECT</span>
		<span style="COLOR: #000000"> </span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">0</span>
		<span style="COLOR: #000000">
				<br />    )a <br />  </span>
		<span style="COLOR: #0000ff">WHERE</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #808080">NOT</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #808080">EXISTS</span>
		<span style="COLOR: #000000">(<br />        </span>
		<span style="COLOR: #0000ff">SELECT</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #808080">*</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">FROM</span>
		<span style="COLOR: #000000"> MyTable  </span>
		<span style="COLOR: #0000ff">WITH</span>
		<span style="COLOR: #000000">(XLOCK,PAGLOCK)<br />        </span>
		<span style="COLOR: #0000ff">WHERE</span>
		<span style="COLOR: #000000"> MyId</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #008000">@temp</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #ff00ff">RIGHT</span>
		<span style="COLOR: #000000">(</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">1000001</span>
		<span style="COLOR: #808080">+</span>
		<span style="COLOR: #000000">a.myID,</span>
		<span style="FONT-WEIGHT: bold; COLOR: #800000">6</span>
		<span style="COLOR: #000000">))<br />    </span>
		<span style="COLOR: #0000ff">RETURN</span>
		<span style="COLOR: #000000">(</span>
		<span style="COLOR: #008000">@r</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">END</span>
		<span style="COLOR: #000000">
				<br />
		</span>
		<span style="COLOR: #0000ff">GO</span>
		<span style="COLOR: #000000">
				<br />
				<br />
				<br />
		</span>
		<span style="COLOR: #008080">--</span>
		<span style="COLOR: #008080">测试语句(可改变时间测试一下）</span>
		<span style="COLOR: #008080">
				<br />
		</span>
		<span style="COLOR: #0000ff">insert</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">values</span>
		<span style="COLOR: #000000"> (dbo.f_NextNewID(</span>
		<span style="COLOR: #ff00ff">GetDate</span>
		<span style="COLOR: #000000">()),</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">one</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">insert</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">values</span>
		<span style="COLOR: #000000"> (dbo.f_NextNewID(</span>
		<span style="COLOR: #ff00ff">GetDate</span>
		<span style="COLOR: #000000">()),</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">two</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">insert</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">values</span>
		<span style="COLOR: #000000"> (dbo.f_NextNewID(</span>
		<span style="COLOR: #ff00ff">GetDate</span>
		<span style="COLOR: #000000">()),</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">three</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">insert</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">values</span>
		<span style="COLOR: #000000"> (dbo.f_NextNewID(</span>
		<span style="COLOR: #ff00ff">GetDate</span>
		<span style="COLOR: #000000">()),</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">four</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">insert</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">values</span>
		<span style="COLOR: #000000"> (dbo.f_NextNewID(</span>
		<span style="COLOR: #ff00ff">GetDate</span>
		<span style="COLOR: #000000">()),</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">five</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">insert</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">values</span>
		<span style="COLOR: #000000"> (dbo.f_NextNewID(</span>
		<span style="COLOR: #ff00ff">GetDate</span>
		<span style="COLOR: #000000">()),</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">six</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">Select</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #808080">*</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">from</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">order</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">by</span>
		<span style="COLOR: #000000"> MyId<br /></span>
		<span style="COLOR: #0000ff">GO</span>
		<span style="COLOR: #000000">
				<br />
		</span>
		<span style="COLOR: #0000ff">delete</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">where</span>
		<span style="COLOR: #000000"> myId</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">060629000002</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000">
				<br />
		</span>
		<span style="COLOR: #0000ff">delete</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">where</span>
		<span style="COLOR: #000000"> myId</span>
		<span style="COLOR: #808080">=</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">060629000005</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000">
				<br />
		</span>
		<span style="COLOR: #0000ff">Select</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #808080">*</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">from</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">order</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">by</span>
		<span style="COLOR: #000000"> MyId<br /></span>
		<span style="COLOR: #0000ff">Go</span>
		<span style="COLOR: #000000">
				<br />
		</span>
		<span style="COLOR: #0000ff">insert</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">values</span>
		<span style="COLOR: #000000"> (dbo.f_NextNewID(</span>
		<span style="COLOR: #ff00ff">GetDate</span>
		<span style="COLOR: #000000">()),</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">nexttwo</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">insert</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">values</span>
		<span style="COLOR: #000000"> (dbo.f_NextNewID(</span>
		<span style="COLOR: #ff00ff">GetDate</span>
		<span style="COLOR: #000000">()),</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #ff0000">nextfive</span>
		<span style="COLOR: #ff0000">'</span>
		<span style="COLOR: #000000">)<br /></span>
		<span style="COLOR: #0000ff">Select</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #808080">*</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">from</span>
		<span style="COLOR: #000000"> MyTable </span>
		<span style="COLOR: #0000ff">order</span>
		<span style="COLOR: #000000"> </span>
		<span style="COLOR: #0000ff">by</span>
		<span style="COLOR: #000000"> MyId<br /></span>
		<span style="COLOR: #0000ff">GO</span>
		<span style="COLOR: #000000">
				<br />
				<br />
				<br />
				<br />§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§<br /><br />SQL下测试成功<br /><br /><br /><br /><br /><br /><br /><br /></span>
<img src ="http://www.cppblog.com/qiaodong/aggbug/19293.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiaodong/" target="_blank">乔栋</a> 2007-03-06 13:38 <a href="http://www.cppblog.com/qiaodong/archive/2007/03/06/19293.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库文章观感</title><link>http://www.cppblog.com/qiaodong/archive/2006/12/28/16949.html</link><dc:creator>乔栋</dc:creator><author>乔栋</author><pubDate>Thu, 28 Dec 2006 09:17:00 GMT</pubDate><guid>http://www.cppblog.com/qiaodong/archive/2006/12/28/16949.html</guid><wfw:comment>http://www.cppblog.com/qiaodong/comments/16949.html</wfw:comment><comments>http://www.cppblog.com/qiaodong/archive/2006/12/28/16949.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qiaodong/comments/commentRss/16949.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qiaodong/services/trackbacks/16949.html</trackback:ping><description><![CDATA[看一个仁兄的博客,不但人非常感性,技术上的细节也很细腻,我喜欢,所以收藏了他的博.<br /><br />以下是<a title="aladdin_leon的博客：Aladdin的思考" href="http://aladdin.javaeye.com/">Aladdin</a>的文章:<br /><br /><font face="Arial"><u><font color="#ff0000"> ----- Atomic(原子性)：</font></u>只整个数据库事务是不可分割的工作单元。只有事务中所有的操作执行成功，才算整个事务成功；事务中任何一个SQL语句执行失败，那么已经执行成功的SQL语句也必须撤销，数据库状态应该退回到执行事务前的状态。通过上面的例子我们已经看得很清楚了。<br /> <u><font color="#ff0000">  ----- Consistency(一致性)：</font></u>指数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。例如，不管上面的例子里面QQ币转账的事务成功还是失败，都应该保证事务结束后qq_account表中bill和tom的QQ币总额为1000点。<br /><u><font color="#ff0000"> ----- Isolation(隔离性)：</font></u>指的是在并发的环境之中，当不同的事务同时操作相同的数据时，每个事务都有各自的完整数据空间，这里涉及的事情就多了，我想在后面单独总结成一篇文章。<br /><u><font color="#ff0000">  ----- Durability(持久性)：</font></u>指的是只有事务成功结束，它对数据库所做的更新就必须永久保存下来。即使发生系统崩溃，重新启动数据库后，数据库还能恢复到事务成功结束时的状态。</font><br /><br /><br />达到这样的结果需要以下的方法:<br /><br /><font face="Arial" color="#3366ff"> -----  BEGIN 事务的开始边界<br /> -----  COMMIT 事务的正常结束边界，提交事务，永久保存被事务更新后的数据库状态。<br /> -----  ROLLBACK 事务的异常结束边界，撤销事务，使数据退回到执行事务前的初始状态。<br /></font><br />我现在给自己一个任务,明天早上给自己一个答案,问题就是:流程中在什么时候是<font face="Arial" color="#3366ff">BEGIN ,COMMIT ,ROLLBACK <font color="#000000">的状态.</font></font><br /><img src ="http://www.cppblog.com/qiaodong/aggbug/16949.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qiaodong/" target="_blank">乔栋</a> 2006-12-28 17:17 <a href="http://www.cppblog.com/qiaodong/archive/2006/12/28/16949.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>