??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美午夜精品久久久,中日韩免费毛片,久久这里只有精品6http://www.aygfsteel.com/rain1102/category/37658.html<br/><font color="green" style="font-family: 华文行楷;font-size:16px;">子曰Q危邦不入,乱邦不居。天下有道则见,无道则隐?lt;/font><font color="#3C1435"></font>zh-cnSat, 29 Aug 2009 07:48:05 GMTSat, 29 Aug 2009 07:48:05 GMT60SQL SERVER中的一些SET * ON含义http://www.aygfsteel.com/rain1102/archive/2009/08/29/293058.htmlEric.ZhouEric.ZhouSat, 29 Aug 2009 01:59:00 GMThttp://www.aygfsteel.com/rain1102/archive/2009/08/29/293058.htmlhttp://www.aygfsteel.com/rain1102/comments/293058.htmlhttp://www.aygfsteel.com/rain1102/archive/2009/08/29/293058.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/293058.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/293058.htmlSET XACT_ABORT { ON | OFF }

注释
?SET XACT_ABORT ?ON Ӟ如果 Transact-SQL 语句产生q行旉误,整个事务终止ƈ回滚。ؓ OFF Ӟ只回滚生错误的 Transact-SQL 语句Q而事务将l箋q行处理。编译错误(如语法错误)不受 SET XACT_ABORT 的媄响?br />


SET QUOTED_IDENTIFIER{ ON | OFF }

注释
?SET QUOTED_IDENTIFIER ?ON Ӟ标识W可以由双引号分隔,而文字必ȝ单引号分隔。当 SET QUOTED_IDENTIFIER ?OFF Ӟ标识W不可加引号Q且必须W合所?Transact-SQL 标识W规则?/p>
SET ANSI_NULLS { ON | OFF }

注释
SQL-92 标准要求在对ID行等?(=) 或不{于 (<>) 比较时取gؓ FALSE。当 SET ANSI_NULLS ?ON Ӟ即 column_name 中包含空|使用 WHERE column_name = NULL ?SELECT 语句仍返回零行。即?column_name 中包含非I|使用 WHERE column_name <> NULL ?SELECT 语句仍会q回零行?
?SET ANSI_NULLS ?OFF Ӟ{于 (=) 和不{于 (<>) 比较q算W不遵从 SQL-92 标准。?WHERE column_name = NULL ?SELECT 语句q回 column_name 中包含空值的行。?WHERE column_name <> NULL ?SELECT 语句q回列中包含非空值的行。此外,使用 WHERE column_name <> XYZ_value ?SELECT 语句q回所有不?XYZ_value 也不?NULL 的行?



Eric.Zhou 2009-08-29 09:59 发表评论
]]>
SQL SERVER中两表之间复制数?/title><link>http://www.aygfsteel.com/rain1102/archive/2009/08/19/291796.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Wed, 19 Aug 2009 07:46:00 GMT</pubDate><guid>http://www.aygfsteel.com/rain1102/archive/2009/08/19/291796.html</guid><wfw:comment>http://www.aygfsteel.com/rain1102/comments/291796.html</wfw:comment><comments>http://www.aygfsteel.com/rain1102/archive/2009/08/19/291796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rain1102/comments/commentRss/291796.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rain1102/services/trackbacks/291796.html</trackback:ping><description><![CDATA[<span style="color: blue">select</span> * <span style="color: blue">into</span> tablenamebak <span style="color: blue">from</span> tablename   <span style="color: red">//q里tablenamebak 必须不存?br /> </span><span style="color: blue">insert</span> <span style="color: blue">into</span> tablenamebak (c1, c2) <span style="color: blue">selec</span>t c1, c2 <span style="color: blue">from</span> tablename <span style="color: red"> //q里tablenamebak 必须存在</span><img src ="http://www.aygfsteel.com/rain1102/aggbug/291796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rain1102/" target="_blank">Eric.Zhou</a> 2009-08-19 15:46 <a href="http://www.aygfsteel.com/rain1102/archive/2009/08/19/291796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> Clobcd数据转换成字W串cdhttp://www.aygfsteel.com/rain1102/archive/2009/06/03/279816.htmlEric.ZhouEric.ZhouWed, 03 Jun 2009 07:11:00 GMThttp://www.aygfsteel.com/rain1102/archive/2009/06/03/279816.htmlhttp://www.aygfsteel.com/rain1102/comments/279816.htmlhttp://www.aygfsteel.com/rain1102/archive/2009/06/03/279816.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/279816.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/279816.html dbms_lob.substr(clobcloum,2000,1)

select id, name, coden
  from cims_supplier
 where name like 'A%'
   and coden like 'A%'
union
select cdbregno      as id,
       dbms_lob.substr(supplier_name,2000,1) as name,
       coden         as coden
  from acdsupplier_moltable
 where supplier_name like 'A%'
   and coden like 'A%'

cims_supplier表中的name是varchar2cd, 而acdsupplier_moltable表中的supplier_name为clobcd, q样可以union?
当然排序也可以了.
select * from t1 order by dbms_lob.substr(clobcloum,2000,1);



Eric.Zhou 2009-06-03 15:11 发表评论
]]>
扚w删除defaultU束[转蝲]http://www.aygfsteel.com/rain1102/archive/2008/11/13/240265.htmlEric.ZhouEric.ZhouThu, 13 Nov 2008 03:18:00 GMThttp://www.aygfsteel.com/rain1102/archive/2008/11/13/240265.htmlhttp://www.aygfsteel.com/rain1102/comments/240265.htmlhttp://www.aygfsteel.com/rain1102/archive/2008/11/13/240265.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/240265.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/240265.html

有时候需要批量同步数据库的default value U束(constraint)Q在SQL2005中,可以通过sys.default_constraintspȝ视图来获取该数据库的视图或者某个表对应的视图?

该视N认对应字D?

nameQ约束名
object_id Q约束ID
parent_object_idQ约束对应的表ID
parent_column_idQ约束对应表中的W几?
definitionQ默认?

如下SQL查询defaulttest数据库中test1表所有的default value constraints ?

SELECT * FROM sys.default_constraints WHERE sys.default_constraints.parent_object_id=OBJECT_ID('test1')

修改带有U束的数据表l构讲了如何删除和添加约束,下面的语句会列出所有的default value constraint?

SELECT
sys.default_constraints.name AS name,
sys.[tables].name AS tablename
FROM sys.default_constraints
LEFT JOIN sys.tables ON
sys.[tables].object_id=sys.[default_constraints].parent_object_id

然后使用游标遍历删除对应表的U束卛_



Eric.Zhou 2008-11-13 11:18 发表评论
]]>
SQL中Case的用方?下篇) (转蝲)http://www.aygfsteel.com/rain1102/archive/2008/09/24/230840.htmlEric.ZhouEric.ZhouWed, 24 Sep 2008 03:29:00 GMThttp://www.aygfsteel.com/rain1102/archive/2008/09/24/230840.htmlhttp://www.aygfsteel.com/rain1102/comments/230840.htmlhttp://www.aygfsteel.com/rain1102/archive/2008/09/24/230840.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/230840.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/230840.html四,Ҏ条g有选择的UPDATE?/strong>

例,有如下更新条?
  1. 工资5000以上的职员,工资减少10%
  2. 工资?000?600之间的职员,工资增加15%
很容易考虑的是选择执行两次UPDATE语句Q如下所C?
--条g1
UPDATE Personnel
SET salary = salary * 0.9
WHERE salary >= 5000;
--条g2
UPDATE Personnel
SET salary = salary * 1.15
WHERE salary >= 2000 AND salary < 4600;

但是事情没有惌得那么简单,假设有个人工?000块。首先,按照条g1Q工资减?0%Q变成工?500。接下来q行W二个SQL时候,因ؓq个人的工资?500?000?600的范围之内, 需增加15%Q最后这个h的工资结果是5175,不但没有减少Q反而增加了。如果要是反q来执行Q那么工?600的h相反会变成减工资。暂且不这个规章是多么荒诞Q如果想要一个SQL 语句实现q个功能的话Q我们需要用到Case函数。代码如?
UPDATE Personnel
SET salary = CASE WHEN salary >= 5000
             THEN salary * 0.9
WHEN salary >= 2000 AND salary < 4600
THEN salary * 1.15
ELSE salary END;

q里要注意一点,最后一行的ELSE salary是必需的,要是没有q行Q不W合q两个条件的人的工资会被写成NUll,那可大事不妙了。在Case函数中Else部分的默认值是NULLQ这Ҏ需要注意的地方?
q种Ҏq可以在很多地方使用Q比如说变更主键q种累活?
一般情况下Q要x两条数据的Primary key,a和b交换Q需要经q时存储,拯Q读回数据的三个q程Q要是用Case函数的话Q一切都变得单多了?
p_key col_1 col_2
a 1 张三
b 2 李四
c 3 王五


假设有如上数据,需要把主键a?code>b怺交换。用Case函数来实现的话,代码如下
UPDATE SomeTable
SET p_key = CASE WHEN p_key = 'a'
THEN 'b'
WHEN p_key = 'b'
THEN 'a'
ELSE p_key END
WHERE p_key IN ('a', 'b');

同样的也可以交换两个Unique key。需要注意的是,如果有需要交换主键的情况发生Q多半是当初对这个表的设计进行得不够CQ徏议检查表的设计是否妥当?

五,两个表数据是否一致的查?/strong>

Case函数不同于DECODE函数。在Case函数中,可以使用BETWEEN,LIKE,IS NULL,IN,EXISTS{等。比如说使用IN,EXISTSQ可以进行子查询Q从?实现更多的功能?
下面具个例子来说明,有两个表Qtbl_A,tbl_BQ两个表中都有keyCol列。现在我们对两个表进行比较,tbl_A中的keyCol列的数据如果在tbl_B的keyCol列的数据中可以找刎ͼ q回l果'Matched',如果没有扑ֈQ返回结?Unmatched'?
要实C面这个功能,可以使用下面两条语句
--使用IN的时?/span>
SELECT keyCol,
CASE WHEN keyCol IN ( SELECT keyCol FROM tbl_B )
THEN 'Matched'
ELSE 'Unmatched' END Label
FROM tbl_A;
--使用EXISTS的时?/span>
SELECT keyCol,
CASE WHEN EXISTS ( SELECT * FROM tbl_B
WHERE tbl_A.keyCol = tbl_B.keyCol )
THEN 'Matched'
ELSE 'Unmatched' END Label
FROM tbl_A;

使用IN和EXISTS的结果是相同的。也可以使用NOT IN和NOT EXISTSQ但是这个时候要注意NULL的情c?

六,在Case函数中用合计函?/strong>

假设有下面一个表
学号(std_id) 评ID(class_id) 评?class_name) MflagQmain_class_flg)
100 1 l济?/td> Y
100 2 历史?/td> N
200 2 历史?/td> N
200 3 考古?/td> Y
200 4 计算?/td> N
300 4 计算?/td> N
400 5 化学 N
500 6 数学 N

有的学生选择了同时修几门评(100,200)也有的学生只选择了一门课E?300,400,500)。选修多门评的学生,要选择一门课E作Z修,Mflag里面写入 Y。只选择一门课E的学生Q主修flag为N(实际上要是写入Y的话Q就没有下面的麻烦事了,Z举例子,q请多多包含)?
现在我们要按照下面两个条件对q个表进行查?
  1. 只选修一门课E的人,q回那门评的ID
  2. 选修多门评的hQ返回所选的主课EID

单的x是Q执行两条不同的SQL语句q行查询?
条g1
--条g1Q只选择了一门课E的学生
SELECT std_id, MAX(class_id) AS main_class
FROM Studentclass
GROUP BY std_id
HAVING COUNT(*) = 1;

执行l果1
STD_ID   MAIN_class
------   ----------
300      4
400      5
500      6

条g2
--条g2Q选择多门评的学?/span>
SELECT std_id, class_id AS main_class
FROM Studentclass
WHERE main_class_flg = 'Y' ;

执行l果2
STD_ID  MAIN_class
------  ----------
100     1
200     3

如果使用Case函数Q我们只要一条SQL语句可以解决问题,具体如下所C?
SELECT  std_id,
CASE WHEN COUNT(*) = 1  --只选择一门课E的学生的情?/span>
THEN MAX(class_id)
ELSE MAX(CASE WHEN main_class_flg = 'Y'
THEN class_id
ELSE NULL END
)
END AS main_class
FROM Studentclass
GROUP BY std_id;

q行l果
STD_ID   MAIN_class
------   ----------
100      1
200      3
300      4
400      5
500      6

通过在Case函数中嵌套Case函数Q在合计函数中用Case函数{方法,我们可以L的解册个问题。用Case函数l我们带来了更大的自由度?
最后提醒一下用Case函数的新手注意不要犯下面的错?
CASE col_1
WHEN 1        THEN 'Right'
WHEN NULL  THEN 'Wrong'
END

在这个语句中When Nullq一行Lq回unknownQ所以永q不会出现Wrong的情c因句可以替换成WHEN col_1 = NULLQ这是一个错误的用法Q这个时候我们应该选择用WHEN col_1 IS NULL?img src ="http://www.aygfsteel.com/rain1102/aggbug/230840.html" width = "1" height = "1" />

Eric.Zhou 2008-09-24 11:29 发表评论
]]>
SQL中Case的用方?上篇)(转蝲)http://www.aygfsteel.com/rain1102/archive/2008/09/24/230834.htmlEric.ZhouEric.ZhouWed, 24 Sep 2008 03:20:00 GMThttp://www.aygfsteel.com/rain1102/archive/2008/09/24/230834.htmlhttp://www.aygfsteel.com/rain1102/comments/230834.htmlhttp://www.aygfsteel.com/rain1102/archive/2008/09/24/230834.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/230834.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/230834.htmlCaseh两种格式。简单Case函数和Case搜烦函数?
--单Case函数
CASE sex
WHEN '1' THEN '?
WHEN '2' THEN '?
ELSE '其他' END
--Case搜烦函数
CASE WHEN sex = '1' THEN '?
WHEN sex = '2' THEN '?
ELSE '其他' END

q两U方式,可以实现相同的功能。简单Case函数的写法相Ҏ较简z,但是和Case搜烦函数相比Q功能方面会有些限制Q比如写判断式?
q有一个需要注意的问题QCase函数只返回第一个符合条件的|剩下的Case部分会被自动忽略?
--比如_下面q段SQLQ你永远无法得到“W二c?#8221;q个l果
CASE WHEN col_1 IN ( 'a', 'b') THEN 'W一c?
WHEN col_1 IN ('a')       THEN 'W二c?
ELSE'其他' END

下面我们来看一下,使用Case函数都能做些什么事情?

一Q已知数据按照另外一U方式进行分l,分析?/strong>

有如下数?(Z看得更清楚,我ƈ没有使用国家代码Q而是直接用国家名作ؓPrimary Key)
国家QcountryQ?/td> 人口QpopulationQ?/td>
中国 600
100
加拿?/td> 100
英国 200
法国 300
日本 250
德国 200
墨西?/td> 50
印度 250

Ҏq个国家人口数据Q统计亚z和北美z的人口数量。应该得C面这个结果?
z?/td> 人口
亚洲 1100
北美z?/td> 250
其他 700

惌解决q个问题Q你会怎么做?生成一个带有洲Code的ViewQ是一个解x法,但是q样很难动态的改变l计的方式?
如果使用Case函数QSQL代码如下:
SELECT  SUM(population),
CASE country
WHEN '中国'     THEN '亚洲'
WHEN '印度'     THEN '亚洲'
WHEN '日本'     THEN '亚洲'
WHEN '国'     THEN '北美z?
WHEN '加拿?  THEN '北美z?
WHEN '墨西?  THEN '北美z?
ELSE '其他' END
FROM    Table_A
GROUP BY CASE country
WHEN '中国'     THEN '亚洲'
WHEN '印度'     THEN '亚洲'
WHEN '日本'     THEN '亚洲'
WHEN '国'     THEN '北美z?
WHEN '加拿?  THEN '北美z?
WHEN '墨西?  THEN '北美z?
ELSE '其他' END;

同样的,我们也可以用q个Ҏ来判断工资的{Qƈl计每一{的h数。SQL代码如下Q?
SELECT
CASE WHEN salary <= 500 THEN '1'
WHEN salary > 500 AND salary <= 600  THEN '2'
WHEN salary > 600 AND salary <= 800  THEN '3'
WHEN salary > 800 AND salary <= 1000 THEN '4'
ELSE NULL END salary_class,
COUNT(*)
FROM    Table_A
GROUP BY
CASE WHEN salary <= 500 THEN '1'
WHEN salary > 500 AND salary <= 600  THEN '2'
WHEN salary > 600 AND salary <= 800  THEN '3'
WHEN salary > 800 AND salary <= 1000 THEN '4'
ELSE NULL END;

二,用一个SQL语句完成不同条g的分l?/strong>

有如下数?
国家QcountryQ?/td> 性别QsexQ?/td> 人口QpopulationQ?/td>
中国 1 340
中国 2 260
1 45
2 55
加拿?/td> 1 51
加拿?/td> 2 49
英国 1 40
英国 2 60

按照国家和性别q行分组Q得出结果如?
国家 ?/td> ?/td>
中国 340 260
45 55
加拿?/td> 51 49
英国 40 60

普通情况下Q用UNION也可以实现用一条语句进行查询。但是那样增加消?两个Select部分)Q而且SQL语句会比较长?
下面是一个是用Case函数来完成这个功能的例子
SELECT country,
SUM( CASE WHEN sex = '1' THEN
population ELSE 0 END),  --hh?/span>
SUM( CASE WHEN sex = '2' THEN
population ELSE 0 END)   --xh?/span>
FROM  Table_A
GROUP BY country;

q样我们使用SelectQ完成对二维表的输出形式Q充分显CZCase函数的强大?

三,在Check中用Case函数?/strong>

在Check中用Case函数在很多情况下都是非常不错的解x法。可能有很多人根本就不用CheckQ那么我你在看过下面的例子之后也试一下在SQL中用Check?
下面我们来D个例?
公司AQ这个公司有个规定,奌员的工资必须高于1000块。如果用Check和Case来表现的话,如下所C?
CONSTRAINT check_salary CHECK
( CASE WHEN sex = '2'
THEN CASE WHEN salary > 1000
THEN 1 ELSE 0 END
ELSE 1 END = 1 )

如果单纯使用CheckQ如下所C?
CONSTRAINT check_salary CHECK
( sex = '2' AND salary > 1000 )

奌员的条g倒是W合了,甯员就无法输入了?

USE pubs
GO
SELECT
CASE
WHEN price IS NULL THEN 'Unpriced'
WHEN price < 10 THEN 'Bargain'
WHEN price BETWEEN 10 and 20 THEN 'Average'
ELSE 'Gift to impress relatives'
END AS Range,
Title
FROM titles
GROUP BY
CASE
WHEN price IS NULL THEN 'Unpriced'
WHEN price < 10 THEN 'Bargain'
WHEN price BETWEEN 10 and 20 THEN 'Average'
ELSE 'Gift to impress relatives'
END,
Title
ORDER BY
CASE
WHEN price IS NULL THEN 'Unpriced'
WHEN price < 10 THEN 'Bargain'
WHEN price BETWEEN 10 and 20 THEN 'Average'
ELSE 'Gift to impress relatives'
END,
Title
GO



Eric.Zhou 2008-09-24 11:20 发表评论
]]>
删除重复记录http://www.aygfsteel.com/rain1102/archive/2008/09/04/227080.htmlEric.ZhouEric.ZhouThu, 04 Sep 2008 14:52:00 GMThttp://www.aygfsteel.com/rain1102/archive/2008/09/04/227080.htmlhttp://www.aygfsteel.com/rain1102/comments/227080.htmlhttp://www.aygfsteel.com/rain1102/archive/2008/09/04/227080.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/227080.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/227080.html问题
从表中删除重复记?

解决Ҏ
用带有聚集函数的子查? 例如MIN, L选择保留的ID(本例中只保留每组中IDh的记录):

    delete from dept 
        where id not in (select min(id) 
                                    from dept 
                                group by name)



Eric.Zhou 2008-09-04 22:52 发表评论
]]>
复制表定?/title><link>http://www.aygfsteel.com/rain1102/archive/2008/09/04/227075.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 04 Sep 2008 14:34:00 GMT</pubDate><guid>http://www.aygfsteel.com/rain1102/archive/2008/09/04/227075.html</guid><wfw:comment>http://www.aygfsteel.com/rain1102/comments/227075.html</wfw:comment><comments>http://www.aygfsteel.com/rain1102/archive/2008/09/04/227075.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rain1102/comments/commentRss/227075.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rain1102/services/trackbacks/227075.html</trackback:ping><description><![CDATA[<strong>问题<br /> </strong>要创建新? 该表与已有表的列讄相同. 例如, 惌一个dept表的副本, 名未dept_2, 淡只是想复制表结构而不惛_制源表中的记?<br /> <br /> <strong>解决Ҏ</strong><br /> DB2<br /> 使用带有like子句的create table命o:<br />     <span style="color: #008000">create table dept_2 like dept<br /> </span><br /> Oracle, MySQL ?PostgreSQL<br /> 在create table命o? 使用一个不q回M行的子查?<br />    <span style="color: #008000"> create table dept_2<br />     as<br />     select * from dept where 1=0<br /> </span><br /> SQL Server<br /> 使用带有不返回Q何行的查询和into子句:<br />     <span style="color: #008000">select * into dept_2 from dept where 1=0</span><img src ="http://www.aygfsteel.com/rain1102/aggbug/227075.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rain1102/" target="_blank">Eric.Zhou</a> 2008-09-04 22:34 <a href="http://www.aygfsteel.com/rain1102/archive/2008/09/04/227075.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EQL中用case when..then..else..end和exists语句, 以及True和Falsehttp://www.aygfsteel.com/rain1102/archive/2008/08/29/225667.htmlEric.ZhouEric.ZhouFri, 29 Aug 2008 15:38:00 GMThttp://www.aygfsteel.com/rain1102/archive/2008/08/29/225667.htmlhttp://www.aygfsteel.com/rain1102/comments/225667.htmlhttp://www.aygfsteel.com/rain1102/archive/2008/08/29/225667.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/225667.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/225667.html     List<Meeting> meetings = new ArrayList<Meeting>();
    meetings = mgr.createQuery("select new com.integral7.ejb3.investigations.Meeting(m.id, m.scheduledDate, m.type.name, m.description, " +
        "case when exists(select id from MeetingAudit ma where ma.meeting = m and ma.audit.id = ?0) then True else False end) " +
        " from Meeting m " +
        " where m.owner.id = ?1 and m.scheduledDate >= ?2 order by m.scheduledDate asc")
        .setParameter(0, candidateId)
        .setParameter(1, ownerId)
        .setParameter(2, DateUtils.convertToBeginningOfDay(new Date())).getResultList();
    return meetings;
 }

q里主要注意True ?span style="color: #008000">False 首字母必d写其余小?

Eric.Zhou 2008-08-29 23:38 发表评论
]]>
DECLARE CURSOR(sqlserver 2000) http://www.aygfsteel.com/rain1102/archive/2008/08/28/225220.htmlEric.ZhouEric.ZhouThu, 28 Aug 2008 03:06:00 GMThttp://www.aygfsteel.com/rain1102/archive/2008/08/28/225220.htmlhttp://www.aygfsteel.com/rain1102/comments/225220.htmlhttp://www.aygfsteel.com/rain1102/archive/2008/08/28/225220.html#Feedback1http://www.aygfsteel.com/rain1102/comments/commentRss/225220.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/225220.html功能:
    定义 Transact-SQL 服务器游标的Ҏ,例如游标的滚动行为和用于生成游标对其q行操作的结果集的查询。DECLARE CURSOR 接受Z SQL-92 标准的语法和使用一l?Transact-SQL 扩展的语法?/font>

SQL-92 语法
DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR
FOR select_statement
[ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ]

Transact-SQL 扩展语法
DECLARE cursor_name CURSOR
[ LOCAL | GLOBAL ]
[ FORWARD_ONLY | SCROLL ]
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
[ TYPE_WARNING ]
FOR select_statement
[ FOR UPDATE [ OF column_name [ ,...n ] ] ]

SQL-92 参数
cursor_name

是所定义?Transact-SQL 服务器游标名U。cursor_name 必须遵从标识W规则。有x识符规则的更多信息,请参见用标识符?/font>

INSENSITIVE

定义一个游标,以创建将p游标使用的数据的临时复本。对游标的所有请求都?tempdb 中的该时表中得到应{;因此Q在对该游标q行提取操作时返回的数据中不反映对基表所做的修改Qƈ且该游标不允怿攏V?SQL-92 语法Ӟ如果省略 INSENSITIVEQ(M用户Q对提交的删除和更新都反映在后面的提取中?/font>

SCROLL

指定所有的提取选项QFIRST、LAST、PRIOR、NEXT、RELATIVE、ABSOLUTEQ均可用。如果在 SQL-92 DECLARE CURSOR 中未指定 SCROLLQ则 NEXT 是唯一支持的提取选项。如果指?SCROLLQ则不能也指?FAST_FORWARD?/font>

select_statement

是定义游标结果集的标?SELECT 语句。在游标声明?select_statement 内不允许使用关键?COMPUTE、COMPUTE BY、FOR BROWSE ?INTO?/font>

如果 select_statement 中的子句与所h的游标类型的功能发生冲突Q则 Microsoft? SQL Server? 隐性地游标{换ؓ另一U类型。有x多信息,请参见隐性游标{换?/font>

READ ONLY

Prevents updates made through this cursor.?UPDATE ?DELETE 语句?WHERE CURRENT OF 子句中不能引用游标。该选项替代要更新的游标的默认功能?/font>

UPDATE [OF column_name [,...n]]

定义游标内可更新的列。如果指?OF column_name [,...n] 参数Q则只允怿Ҏ列出的列。如果在 UPDATE 中未指定列的列表Q则可以更新所有列?/font>

Transact-SQL 扩展参数
cursor_name

是所定义?Transact-SQL 服务器游标名U。cursor_name 必须遵从标识W规则。有x识符规则的更多信息,请参见用标识符?/font>

LOCAL

指定该游标的作用域对在其中创建它的批处理、存储过E或触发器是局部的。该游标名称仅在q个作用域内有效。在批处理、存储过E、触发器或存储过E?OUTPUT 参数中,该游标可由局部游标变量引用。OUTPUT 参数用于局部游标传递回调用批处理、存储过E或触发器,它们可在存储q程l止后给游标变量指派参数使其引用游标。除?OUTPUT 参数游标传递回来,否则游标在批处理、存储过E或触发器终止时隐性释放。如?OUTPUT 参数游标传递回来,游标在最后引用它的变量释放或d作用域时释放?/font>

GLOBAL

指定该游标的作用域对q接是全局的。在p接执行的M存储q程或批处理中,都可以引用该游标名称。该游标仅在脱接旉性释放?/font>

 

说明  如果 GLOBAL ?LOCAL 参数都未指定Q则默认值由 default to local cursor 数据库选项的设|控制。在 SQL Server 7.0 版中Q该选项默认?FALSE 以与 SQL Server 早期版本相匹配,?SQL Server 早期版本中所有游标都是全局的。该选项的默认值在以后?SQL Server 版本中可能会更改。有x多信息,请参见设|数据库选项?/font>


FORWARD_ONLY

指定游标只能从第一行滚动到最后一行。FETCH NEXT 是唯一受支持的提取选项。如果在指定 FORWARD_ONLY 时不指定 STATIC、KEYSET ?DYNAMIC 关键字,则游标作?DYNAMIC 游标q行操作。如?FORWARD_ONLY ?SCROLL 均未指定Q除非指?STATIC、KEYSET ?DYNAMIC 关键字,否则默认?FORWARD_ONLY。STATIC、KEYSET ?DYNAMIC 游标默认?SCROLL。与 ODBC ?ADOq类数据?API 不同QSTATIC、KEYSET ?DYNAMIC Transact-SQL 游标支持 FORWARD_ONLY。FAST_FORWARD ?FORWARD_ONLY 是互斥的Q如果指定一个,则不能指定另一个?/p>

STATIC

定义一个游标,以创建将p游标使用的数据的临时复本。对游标的所有请求都?tempdb 中的该时表中得到应{;因此Q在对该游标q行提取操作时返回的数据中不反映对基表所做的修改Qƈ且该游标不允怿攏V?/p>

KEYSET

指定当游标打开Ӟ游标中行的成员资格和序已经固定。对行进行唯一标识的键集内|在 tempdb 内一个称?keyset 的表中。对中的非键值所做的更改Q由游标所有者更Ҏ由其它用h交)在用h动游标时是可视的。其他用戯行的插入是不可视的(不能通过 Transact-SQL 服务器游标进行插入)。如果某行已删除Q则对该行的提取操作返?@@FETCH_STATUS ?-2。从游标外更新键值类g删除旧行后接着插入新行的操作。含有新值的行不可视Q对含有旧值的行的提取操作返?@@FETCH_STATUS ?-2。如果通过指定 WHERE CURRENT OF 子句用游标完成更斎ͼ则新值可视?/p>

DYNAMIC

定义一个游标,以反映在滚动游标时对l果集内的行所做的所有数据更攏V行的数据倹{顺序和成员在每ơ提取时都会更改。动态游标不支持 ABSOLUTE 提取选项?/p>

FAST_FORWARD

指定启用了性能优化?FORWARD_ONLY、READ_ONLY 游标。如果指?FAST_FORWARDQ则不能也指?SCROLL ?FOR_UPDATE。FAST_FORWARD ?FORWARD_ONLY 是互斥的Q如果指定一个,则不能指定另一个?/p>

READ_ONLY

止通过该游标进行更新。在 UPDATE ?DELETE 语句?WHERE CURRENT OF 子句中不能引用游标。该选项替代要更新的游标的默认功能?/p>

SCROLL_LOCKS

指定保通过游标完成的定位更新或定位删除可以成功。当行d游标以确保它们可用于以后的修ҎQMicrosoft? SQL Server? 会锁定这些行。如果还指定?FAST_FORWARDQ则不能指定 SCROLL_LOCKS?/p>

OPTIMISTIC

指定如果行自从被d游标以来已得到更斎ͼ则通过游标q行的定位更新或定位删除不成功。当行d游标?SQL Server 不锁定行。相反,SQL Server 使用 timestamp 列值的比较Q或者如果表没有 timestamp 列则使用校验|以确定将行读入游标后是否已修改该行。如果已修改该行Q尝试进行的定位更新或定位删除将p|。如果还指定?FAST_FORWARDQ则不能指定 OPTIMISTIC?/p>

TYPE_WARNING

指定如果游标从所h的类型隐性{换ؓ另一U类型,则给客户端发送警告消息?/p>

select_statement

是定义游标结果集的标?SELECT 语句。在游标声明?select_statement 内不允许使用关键?COMPUTE、COMPUTE BY、FOR BROWSE ?INTO?/p>

如果 select_statement 内的子句与所h的游标类型冲H,SQL Server 游标隐性{换成另一U类型。有x多信息,请参见隐性游标{换?/p>

UPDATE [OF column_name [,...n]]

定义游标内可更新的列。如果提供了 OF column_name [,...n]Q则只允怿改列出的列。如果在 UPDATE 中未指定列的列表Q除非指定了 READ_ONLY q发选项Q否则所有列均可更新?/p>

注释
DECLARE CURSOR 定义 Transact-SQL 服务器游标的Ҏ,例如游标的滚动行为和用于生成游标对其q行操作的结果集的查询。OPEN 语句填充l果集,FETCH 从结果集q回行。CLOSE 语句释放与游标关联的当前l果集。DEALLOCATE 语句释放游标所使用的资源?/p>

DECLARE CURSOR 语句的第一U格式?SQL-92 语法声明游标行ؓ。DECLARE CURSOR 的第二种格式使用 Transact-SQL 扩展Q您得以用在 ODBC、ADO ?DB-Library的数据库 API 游标函数中的相同游标cd定义游标?/p>

不能hq两U格式。如果在 CURSOR 关键字的前面指定 SCROLL ?INSENSITIVE 关键字,则不能在 CURSOR ?FOR select_statement 关键字之间用Q何关键字。如果在 CURSOR ?FOR select_statement 关键字之间指定Q何关键字Q则不能?CURSOR 关键字的前面指定 SCROLL ?INSENSITIVE?/p>

如果使用 Transact-SQL 语法?DECLARE CURSOR 不指?READ_ONLY、OPTIMISTIC ?SCROLL_LOCKSQ则默认讄如下Q?

如果 SELECT 语句不支持更斎ͼ权限不够Q访问的q程表不支持更新Q等{)Q则游标?READ_ONLY?/p>


STATIC 和FAST_FORWARD 游标默认?READ_ONLY?/p>


DYNAMIC ?KEYSET 游标默认?OPTIMISTIC?
游标名称只能由其?Transact-SQL 语句引用Q不能由数据?API 函数引用。例如,在声明游标后Q不能从 OLE DB、ODBC、ADO ?DB-Library 函数或方法引用游标名U。游标行不能通过 API 提取函数或方法提取,而只能由 Transact-SQL FETCH 语句提取?/p>

在声明游标后Q可使用下列pȝ存储q程定游标的特性?/p>

pȝ存储q程 描述
sp_cursor_list q回当前在连接上可视的游标列表及其特性?
sp_describe_cursor 描述游标Ҏ,比如是只q游标还是滚动游标?
sp_describe_cursor_columns 描述游标l果集中的列的特性?
sp_describe_cursor_tables 描述游标所讉K的基表?


变量可作为声明游标的 select_statement 的一部分使用。然而,在游标声明之后对那些变量的更改将不会Ҏ标的操作产生影响?/p>

权限
默认情况下,?DECLARE CURSOR 权限授予Ҏ标中所使用的视图、表和列?SELECT 权限的Q何用戗?/p>

CZ
A. 使用单游标和语法
打开该游标时所生成的结果集包括 pubs 数据库的 authors 表中的所有行和列。可以更新该游标Q对该游标所做的所有更新和删除均在提取中表现出来。因为没指定 SCROLL 选项QFETCH NEXT 是唯一可用的提取选项?/p>

DECLARE authors_cursor CURSOR
   FOR SELECT * FROM authors
OPEN authors_cursor
FETCH NEXT FROM authors_cursor

B. 使用嵌套游标生成报表输出
下例昄如何嵌套游标以生成复杂的报表。ؓ每个作者声明内部游标?/p>

SET NOCOUNT ON

DECLARE @au_id varchar(11), @au_fname varchar(20), @au_lname varchar(40),
   @message varchar(80), @title varchar(80)

PRINT "-------- Utah Authors report --------"

DECLARE authors_cursor CURSOR FOR
SELECT au_id, au_fname, au_lname
FROM authors
WHERE state = "UT"
ORDER BY au_id

OPEN authors_cursor

FETCH NEXT FROM authors_cursor
INTO @au_id, @au_fname, @au_lname

WHILE @@FETCH_STATUS = 0
BEGIN
   PRINT " "
   SELECT @message = "----- Books by Author: " +
      @au_fname + " " + @au_lname

   PRINT @message

   -- Declare an inner cursor based  
   -- on au_id from the outer cursor.

   DECLARE titles_cursor CURSOR FOR
   SELECT t.title
   FROM titleauthor ta, titles t
   WHERE ta.title_id = t.title_id AND
   ta.au_id = @au_id   -- Variable value from the outer cursor

   OPEN titles_cursor
   FETCH NEXT FROM titles_cursor INTO @title

   IF @@FETCH_STATUS <> 0
      PRINT "         <<No Books>>"    

   WHILE @@FETCH_STATUS = 0
   BEGIN
     
      SELECT @message = "         " + @title
      PRINT @message
      FETCH NEXT FROM titles_cursor INTO @title
  
   END

   CLOSE titles_cursor
   DEALLOCATE titles_cursor
  
   -- Get the next author.
   FETCH NEXT FROM authors_cursor
   INTO @au_id, @au_fname, @au_lname
END

CLOSE authors_cursor
DEALLOCATE authors_cursor
GO

-------- Utah Authors report --------
 
----- Books by Author: Anne Ringer
         The Gourmet Microwave
         Is Anger the Enemy?
 
----- Books by Author: Albert Ringer
         Is Anger the Enemy?
         Life Without Fear



Eric.Zhou 2008-08-28 11:06 发表评论
]]>
SQL SERVER中直接@环写入数?/title><link>http://www.aygfsteel.com/rain1102/archive/2008/08/28/225202.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 28 Aug 2008 02:42:00 GMT</pubDate><guid>http://www.aygfsteel.com/rain1102/archive/2008/08/28/225202.html</guid><wfw:comment>http://www.aygfsteel.com/rain1102/comments/225202.html</wfw:comment><comments>http://www.aygfsteel.com/rain1102/archive/2008/08/28/225202.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rain1102/comments/commentRss/225202.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rain1102/services/trackbacks/225202.html</trackback:ping><description><![CDATA[<p>declare @i int<br /> set @i = 1<br /> while @i < 30<br /> begin<br />    insert into test (userid) values(@i)<br />    set @i = @i + 1<br /> end</p><img src ="http://www.aygfsteel.com/rain1102/aggbug/225202.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rain1102/" target="_blank">Eric.Zhou</a> 2008-08-28 10:42 <a href="http://www.aygfsteel.com/rain1102/archive/2008/08/28/225202.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL查询按照子串排序http://www.aygfsteel.com/rain1102/archive/2008/07/16/215298.htmlEric.ZhouEric.ZhouWed, 16 Jul 2008 12:09:00 GMThttp://www.aygfsteel.com/rain1102/archive/2008/07/16/215298.htmlhttp://www.aygfsteel.com/rain1102/comments/215298.htmlhttp://www.aygfsteel.com/rain1102/archive/2008/07/16/215298.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/215298.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/215298.html 在DB2, MySQL, Oracle和PostgreSQL? order by子句中用substr函数:
    select ename, job from emp order by substr(job, length(job)-2)
在SQL Server? order by子句中用substring函数:
    select ename, job from emp order by substring(job, len(job)-2, 2)


Eric.Zhou 2008-07-16 20:09 发表评论
]]>
限制q回的行数和从表中随回n条记?/title><link>http://www.aygfsteel.com/rain1102/archive/2008/07/15/215062.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Tue, 15 Jul 2008 12:50:00 GMT</pubDate><guid>http://www.aygfsteel.com/rain1102/archive/2008/07/15/215062.html</guid><wfw:comment>http://www.aygfsteel.com/rain1102/comments/215062.html</wfw:comment><comments>http://www.aygfsteel.com/rain1102/archive/2008/07/15/215062.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rain1102/comments/commentRss/215062.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rain1102/services/trackbacks/215062.html</trackback:ping><description><![CDATA[<p>在DB2? 使用FETCH FIRST子句限制q回行数:<br />     <span style="color: red">select * from emp fetch first 5 rows only<br /> </span>使用RAND与ORDER BY和FETCH FIRST来获取随机条?br />     <span style="color: #008000">select * from emp order by rand() fetch first 5 rows only<br /> </span><br /> 在MySQL和PostgreSQL? 使用LIMIT:<br />     <span style="color: #ff0000">select * from emp limit 5<br /> </span>MySQL中获取随?<br />      <span style="color: #008000">select * from emp order by rand() limit 5<br /> </span>PostgreSQL中获取随?<br />      <span style="color: #008000">select * from emp order by random() limit 5<br /> </span><br /> 在Oracle? 在WHERE子句中通过使用ROWNUM来限制行?<br />     <span style="color: #ff0000">select * from emp where rownum <= 5<br /> </span>    <br />     <span style="color: #008000">select *<br />             from (<br />                 select ename, job from emp order by dbms_random.value()<br />             )<br />     where rownum <= 5<br /> </span>在SQL Server? 使用TOP来限制返回行?<br />     <span style="color: #ff0000">select top 5 * from emp<br /> </span>    <br />     <span style="color: #008000">select top 5 ename, job from emp order by newid()</span></p><img src ="http://www.aygfsteel.com/rain1102/aggbug/215062.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rain1102/" target="_blank">Eric.Zhou</a> 2008-07-15 20:50 <a href="http://www.aygfsteel.com/rain1102/archive/2008/07/15/215062.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL中连接列值和在SELECT语句中用条仉辑http://www.aygfsteel.com/rain1102/archive/2008/07/14/214821.htmlEric.ZhouEric.ZhouMon, 14 Jul 2008 13:16:00 GMThttp://www.aygfsteel.com/rain1102/archive/2008/07/14/214821.htmlhttp://www.aygfsteel.com/rain1102/comments/214821.htmlhttp://www.aygfsteel.com/rain1102/archive/2008/07/14/214821.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/214821.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/214821.html 使用concat函数q接来自多个列的数? 在DB2, Oracle和PostgreSQL?"||"是concat函数的简写方?"+"是SQL Server中的写方?
select name||' is a '||type as msg from animal where ...
select name+' is a '+type as msg from animal where...
select concat(name, ' is a ', type) as msg from animal where ...

2.在SELECT语句中用条仉辑
case表达式可以针Ҏ询的q回值执行条仉辑. 可以lcase表达式取别名, 使结果集更易? else子句是可选的, 如果没有使用else, 对于不满_断条件的? case表达式会q回NULL.
select ename, sal,
   case when sal<=2000 then 'UNDERPAID'
   case when sal>=4000 then 'OVERPAID'
          else 'OK'
   end as status
from emp

Eric.Zhou 2008-07-14 21:16 发表评论
]]>
SQL Server修改?/title><link>http://www.aygfsteel.com/rain1102/archive/2008/06/18/208797.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Wed, 18 Jun 2008 02:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/rain1102/archive/2008/06/18/208797.html</guid><wfw:comment>http://www.aygfsteel.com/rain1102/comments/208797.html</wfw:comment><comments>http://www.aygfsteel.com/rain1102/archive/2008/06/18/208797.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rain1102/comments/commentRss/208797.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rain1102/services/trackbacks/208797.html</trackback:ping><description><![CDATA[IF NOT EXISTS (SELECT * FROM syscolumns WHERE id=object_id('Book') AND name='createDate')  <br /> ALTER TABLE Book ADD createDate datetime NOT NULL<br /> GO<br /> <br /> 首先要判断表中是否存在该字段,如果不存在再d或者修改该字段.<img src ="http://www.aygfsteel.com/rain1102/aggbug/208797.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rain1102/" target="_blank">Eric.Zhou</a> 2008-06-18 10:44 <a href="http://www.aygfsteel.com/rain1102/archive/2008/06/18/208797.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>l护SQL Server数据库的一些常用SQL(?http://www.aygfsteel.com/rain1102/archive/2008/05/13/200246.htmlEric.ZhouEric.ZhouTue, 13 May 2008 09:15:00 GMThttp://www.aygfsteel.com/rain1102/archive/2008/05/13/200246.htmlhttp://www.aygfsteel.com/rain1102/comments/200246.htmlhttp://www.aygfsteel.com/rain1102/archive/2008/05/13/200246.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/200246.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/200246.html1.如何创徏数据?/p>

CREATE DATABASE student

2.如何删除数据?/p>

DROP DATABASE student

3.如何备䆾数据库到盘文g

BACKUP DATABASE student to disk=´c:\1234.bak´

4.如何从磁盘文件还原数据库

RESTORE DATABASE studnet FROM DISK = ´c:\1234.bak´

5.怎样创徏表?

CREATE TABLE Students (
    ID int IDENTITY ( 1, 1), --自增字段,基数1,步长1
    StudentID char (4) NOT NULL ,
    Name char (10) NOT NULL ,
    Age int NULL ,
    Birthday datetime NULL,
    CONSTRAINT PK_Students PRIMARY KEY (StudentID)  --讄主键
)

CREATE TABLE Subjects (
    ID int IDENTITY ( 1, 1), --自增字段,基数1,步长1
    ClassID char (4) NOT NULL ,
    ClassName char (10) NOT NULL,
    CONSTRAINT PK_Subjects PRIMARY KEY (ClassID)    --讄主键
)

CREATE TABLE Scores (
    ID int IDENTITY ( 1, 1), --自增字段,基数1,步长1
    StudentID char (4) NOT NULL ,
    ClassID char (4) NOT NULL ,
    Score float NOT NULL,
    CONSTRAINT FK_Scores_Students FOREIGN KEY (StudentID) REFERENCES Students(StudentID), --讄外键
    CONSTRAINT FK_Scores_Subjects FOREIGN KEY (ClassID) REFERENCES Subjects(ClassID), --讄外键
    CONSTRAINT PK_Scores PRIMARY KEY (StudentID,ClassID) --讄主键
)

6.怎样删除表?

DROP TABLE Students

7.怎样创徏视图Q?/p>

CREATE VIEW s_s_s
AS
SELECT Students.Name, Subjects.ClassName, Scores.Score
FROM Scores INNER JOIN
      Students ON Scores.StudentID = Students.StudentID INNER JOIN
      Subjects ON Scores.ClassID = Subjects.ClassID


8.怎样删除视图Q?/p>

DROP VIEW s_s_s

9.如何创徏存储q程?

CREATE PROCEDURE GetStudent
@age INT,
@birthday DATETIME
AS
SELECT *
FROM students
WHERE Age = @age AND Birthday = @birthday
GO

10.如何删除存储q程?

DROP PROCEDURE GetStudent

11.如何创徏触发?

CREATE TRIGGER reminder
ON Students
FOR INSERT, UPDATE, DELETE
AS
   EXEC master..xp_sendmail ´MaryM´,
      ´Don´´t forget to print a report for the distributors.´
GO

12.如何删除触发?

DROP TRIGGER reminder

13.如何创徏索引?

CREATE UNIQUE INDEX IX_Students ON Students (Name)

14.如何删除索引?

DROP INDEX Students.IX_Students

15.怎样l表d字段Q?/p>

ALTER TABLE Students ADD Address varchar (50) NULL

16.怎样删除表中某个字段Q?/p>

ALTER TABLE Students DROP COLUMN Address

17.如何讄列的标识属?

没找到办?/p>

18.如何L列的标识属?

没有扑ֈ好的Ҏ,只能是先d一?然后把标识列的值更新到新加入的?删除标识?再用与标识列相同的名字类型添加一?用前面加入的列更新该?如果该标识列是其他表的外?q要先删除外键约?很麻?谁有好的办法,q请告诉?

19.如何重设标识列的标识U子?

DBCC CHECKIDENT (Student, RESEED, 1)

20.怎样l表加上主键Q?/p>

ALTER TABLE Scores ADD CONSTRAINT PK_Scores PRIMARY KEY (StudentID,ClassID)

21.怎样删除表的主键Q?/p>

ALTER TABLE Scores DROP CONSTRAINT PK_Scores

22.怎样l表d一个外键?

ALTER TABLE Scores ADD CONSTRAINT FK_Scores_Students FOREIGN KEY (StudentID) REFERENCES Students (StudentID) ON DELETE CASCADE

23.怎样删除表的一个外键?

ALTER TABLE Scores DROP CONSTRAINT FK_Scores_Students

24.怎样l字D加上CHECKU束Q?/p>

ALTER TABLE Students ADD CONSTRAINT CK_Students CHECK (Age > 0)

25.怎样L字段上的CHECKU束Q?/p>

ALTER TABLE Students DROP CONSTRAINT CK_Students

26.怎样l字D设|默认|

ALTER TABLE Students ADD CONSTRAINT DF_Students_Age DEFAULT (18) FOR Age

27.怎样Ud字段的默认|

ALTER TABLE Students DROP CONSTRAINT DF_Students_Age

28.修改字段的类型及非空U束

ALTER TABLE Students ALTER COLUMN Age char (10) null
ALTER TABLE Students ALTER COLUMN Age int not null



Eric.Zhou 2008-05-13 17:15 发表评论
]]>
SET XACT_ABORThttp://www.aygfsteel.com/rain1102/archive/2008/05/06/198683.htmlEric.ZhouEric.ZhouTue, 06 May 2008 05:29:00 GMThttp://www.aygfsteel.com/rain1102/archive/2008/05/06/198683.htmlhttp://www.aygfsteel.com/rain1102/comments/198683.htmlhttp://www.aygfsteel.com/rain1102/archive/2008/05/06/198683.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/198683.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/198683.htmlSET XACT_ABORT

指定?Transact-SQL 语句产生q行旉误时QMicrosoft® SQL Server™ 是否自动回滚当前事务?/p>

语法

SET XACT_ABORT { ON | OFF }

注释

?SET XACT_ABORT ?ON Ӟ如果 Transact-SQL 语句产生q行旉误,整个事务终止ƈ回滚。ؓ OFF Ӟ只回滚生错误的 Transact-SQL 语句Q而事务将l箋q行处理。编译错误(如语法错误)不受 SET XACT_ABORT 的媄响?/p>

对于大多?OLE DB 提供E序Q包?SQL ServerQ,隐性或昑ּ事务中的数据修改语句必须?XACT_ABORT 讄?ON。唯一不需要该选项的情冉|提供E序支持嵌套事务时。有x多信息,请参?a href="javascript:hhobj_1.Click()">分布式查?/a>?a href="javascript:hhobj_2.Click()">分布式事?/a>?

SET XACT_ABORT 的设|是在执行或q行时设|,而不是在分析时设|?/p>

CZ

下例D在含有其?Transact-SQL 语句的事务中发生q反外键错误。在W一个语句集中生错误,但其它语句均成功执行且事务成功提交。在W二个语句集中,SET XACT_ABORT 讄?ON。这D语句错误使批处理l止Qƈ使事务回滚?

CREATE TABLE t1 (a int PRIMARY KEY)
CREATE TABLE t2 (a int REFERENCES t1(a))
GO
INSERT INTO t1 VALUES (1)
INSERT INTO t1 VALUES (3)
INSERT INTO t1 VALUES (4)
INSERT INTO t1 VALUES (6)
GO
SET XACT_ABORT OFF
GO
BEGIN TRAN
INSERT INTO t2 VALUES (1)
INSERT INTO t2 VALUES (2) /* Foreign key error */
INSERT INTO t2 VALUES (3)
COMMIT TRAN
GO
SET XACT_ABORT ON
GO
BEGIN TRAN
INSERT INTO t2 VALUES (4)
INSERT INTO t2 VALUES (5) /* Foreign key error */
INSERT INTO t2 VALUES (6)
COMMIT TRAN
GO
/* Select shows only keys 1 and 3 added.
Key 2 insert failed and was rolled back, but
XACT_ABORT was OFF and rest of transaction
succeeded.
Key 5 insert error with XACT_ABORT ON caused
all of the second transaction to roll back. */
SELECT *
FROM t2
GO
DROP TABLE t2
DROP TABLE t1
GO


Eric.Zhou 2008-05-06 13:29 发表评论
]]>
SQL Server 不支持change修改表字D?/title><link>http://www.aygfsteel.com/rain1102/archive/2008/04/17/193713.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 17 Apr 2008 04:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/rain1102/archive/2008/04/17/193713.html</guid><wfw:comment>http://www.aygfsteel.com/rain1102/comments/193713.html</wfw:comment><comments>http://www.aygfsteel.com/rain1102/archive/2008/04/17/193713.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rain1102/comments/commentRss/193713.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rain1102/services/trackbacks/193713.html</trackback:ping><description><![CDATA[今天遇到一个问题,是需要修改表字段名,要是别的数据库还好处理,直接用change可以了Q?br /> <span style="color: red">alter table users change column name username varchar(50)<br /> </span>但SQL Server不支持此命o?br /> 所以只能用存储q程了:<br /> 比如我要修改user表里面的nameQ改为usernameQ则可以?br /> <span style="color: #008000">exec sp_rename 'users.name','username','column'</span><img src ="http://www.aygfsteel.com/rain1102/aggbug/193713.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rain1102/" target="_blank">Eric.Zhou</a> 2008-04-17 12:53 <a href="http://www.aygfsteel.com/rain1102/archive/2008/04/17/193713.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>判断sql执行所q旉Q精度ؓ毫秒Q?/title><link>http://www.aygfsteel.com/rain1102/archive/2007/09/28/149059.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Fri, 28 Sep 2007 05:02:00 GMT</pubDate><guid>http://www.aygfsteel.com/rain1102/archive/2007/09/28/149059.html</guid><wfw:comment>http://www.aygfsteel.com/rain1102/comments/149059.html</wfw:comment><comments>http://www.aygfsteel.com/rain1102/archive/2007/09/28/149059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rain1102/comments/commentRss/149059.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rain1102/services/trackbacks/149059.html</trackback:ping><description><![CDATA[<span style="color: #0000ff">DECLARE </span><span style="color: #008000">@begin</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"><span style="color: #0000ff">DECLARE </span></span><span style="color: #008000">@chaju</span><span style="color: #000000"> </span><span style="font-weight: bold; color: #000000">bigint</span><span style="color: #000000"><br /> </span><span style="color: #0000ff"><span style="color: #0000ff">DECLARE </span></span><span style="color: #008000">@end</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">SET </span><span style="color: #008000">@begin</span><span style="color: #808080">=</span><span style="color: #ff00ff">getdate</span><span style="color: #000000">()<br /> </span><span style="color: #000000"><font color="#0000ff"><br /> </font>要执行的sql语句......<br /> <br /> </span><span style="color: #0000ff"><span style="color: #0000ff">SET </span></span><span style="color: #008000">@end</span><span style="color: #808080">=</span><span style="color: #ff00ff">getdate</span><span style="color: #000000">()       <br /> </span><span style="color: #0000ff"><span style="color: #0000ff">SELECT</span><span style="color: #000000"> </span></span><span style="color: #008000">@chaju</span><span style="color: #000000"> </span><span style="color: #808080">=</span><span style="color: #000000"> </span><span style="color: #ff00ff">datediff</span><span style="color: #000000">(Millisecond, </span><span style="color: #008000">@begin</span><span style="color: #000000">, </span><span style="color: #008000">@end</span><span style="color: #000000">)<br /> </span><span style="color: #0000ff">PRINT </span><span style="color: #008000">@chaju<span style="color: #000000"> </span></span><img src ="http://www.aygfsteel.com/rain1102/aggbug/149059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rain1102/" target="_blank">Eric.Zhou</a> 2007-09-28 13:02 <a href="http://www.aygfsteel.com/rain1102/archive/2007/09/28/149059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库驱动程序和URL http://www.aygfsteel.com/rain1102/archive/2007/01/19/94911.htmlEric.ZhouEric.ZhouFri, 19 Jan 2007 05:05:00 GMThttp://www.aygfsteel.com/rain1102/archive/2007/01/19/94911.htmlhttp://www.aygfsteel.com/rain1102/comments/94911.htmlhttp://www.aygfsteel.com/rain1102/archive/2007/01/19/94911.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/94911.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/94911.html驱动E序
URL

MS SQL Server2000
com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbc:microsoft:sqlserver://[ip]:[port];user=[user];passwoerd=[password]

JDBC-ODBC
sun.jdbc.odbc.JdbcOdbcDriver
jdbc:odbc:[odbcsource]

Oracle oci8
oracle.jdbc.driver.OracleDriver
jdbc:oracle:oci8:@[sid]

Oracle thin Driver
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@[ip]:[port]:[sid]

Cloudscape
COM.cloudscape.core.JDBCDriver
Jdbc:cloudscape:database

MySQL
org.git.mm.mysql.Driver
jdbc:mysql://ip/database?user=?&password=?


Eric.Zhou 2007-01-19 13:05 发表评论
]]>
SQL语句http://www.aygfsteel.com/rain1102/archive/2006/11/23/82935.htmlEric.ZhouEric.ZhouThu, 23 Nov 2006 01:08:00 GMThttp://www.aygfsteel.com/rain1102/archive/2006/11/23/82935.htmlhttp://www.aygfsteel.com/rain1102/comments/82935.htmlhttp://www.aygfsteel.com/rain1102/archive/2006/11/23/82935.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/82935.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/82935.html1.
删除表的重复记录
 
如果记录完全相同才算重复记录 , 那么 : (sql server2000 下测试通过 )
 select distinct * into #tmpp from person
 delete from person
 insert into person select * from #tmpp
 drop table #tmpp
 
如果?/span> id 主键 ( 数字 , 自增 1 的那U?/span> ), 那么 :(sql server2000 下测试通过 )
 delete from person where id not in
 (select id=min(id) from person group by UserName)
2.复制表(q且复制记录Q?/strong>
  select * into persontwo from personQ只复制表结构)
  insert into persontwo select UserName,Address,Content from personQ插入记录)
3.获取表中最未使用的ID
  SELECT (CASE WHEN EXISTS(SELECT * FROM person b WHERE b.Id = 1) THEN MIN(Id) + 1 ELSE 1 END) as Id
 FROM  person
 WHERE NOT Id IN (SELECT a.Id - 1 FROM person a)

4.delete from tablea & truncate table tablea的区?/span>

  truncate语句执行速度?/span>,占资源少,q且只记录页删除的日志;
 deleteҎ条记录的删除均需要记录日?/span>



Eric.Zhou 2006-11-23 09:08 发表评论
]]>q接SQL Server和Oraclehttp://www.aygfsteel.com/rain1102/archive/2006/11/17/81719.htmlEric.ZhouEric.ZhouFri, 17 Nov 2006 03:06:00 GMThttp://www.aygfsteel.com/rain1102/archive/2006/11/17/81719.htmlhttp://www.aygfsteel.com/rain1102/comments/81719.htmlhttp://www.aygfsteel.com/rain1102/archive/2006/11/17/81719.html#Feedback0http://www.aygfsteel.com/rain1102/comments/commentRss/81719.htmlhttp://www.aygfsteel.com/rain1102/services/trackbacks/81719.htmlOracle
url=jdbc:oracle:thin:@192.168.1.110:1521:zhongxin
driver=oracle.jdbc.driver.OracleDriver
username=xxb
password=xxb

SQLServer
url=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=hagov
drive=com.microsoft.jdbc.sqlserver.SQLServerDriver
username=sa
password=sa
dialect=org.hibernate.dialect.SQLServerDialect



Eric.Zhou 2006-11-17 11:06 发表评论
]]>
Java中连接数据库QSQL ServerQDatabasec?/title><link>http://www.aygfsteel.com/rain1102/archive/2006/10/18/75879.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Wed, 18 Oct 2006 05:31:00 GMT</pubDate><guid>http://www.aygfsteel.com/rain1102/archive/2006/10/18/75879.html</guid><wfw:comment>http://www.aygfsteel.com/rain1102/comments/75879.html</wfw:comment><comments>http://www.aygfsteel.com/rain1102/archive/2006/10/18/75879.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rain1102/comments/commentRss/75879.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rain1102/services/trackbacks/75879.html</trackback:ping><description><![CDATA[<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">Database</span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">c?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">import <a title="Java爱好? href="http://www.aygfsteel.com/rain1102" >Java</a>.sql.Connection;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">import <a title="Java爱好? href="http://www.aygfsteel.com/rain1102" >Java</a>.sql.ResultSet;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">import <a title="Java爱好? href="http://www.aygfsteel.com/rain1102" >Java</a>.sql.Statement;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">import <a title="Java爱好? href="http://www.aygfsteel.com/rain1102" >Java</a>.sql.SQLException;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">import javax.naming.Context;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">import javax.naming.InitialContext;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">import javax.sql.DataSource;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">public class Database<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">private Connection m_conn=null;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">private Statement m_stmt=null;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">private boolean isAutoCommit;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">public Database() throws Exception<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">    </span>try<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">    </span>{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>Context initCtx=new InitialContext();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>Context envCtx=(Context)initCtx.lookup(“java:comp/env”);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>DataSource ds=(DataSource)envCtx.lookup(“jdbc/SqlServer”);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">      </span>m_conn=ds.getConnection();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">      </span>initCtx.close();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">      </span>envCtx.close();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">catch(Exception ex)<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">       </span>ex..printStackTrace();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">       </span>System.out.println(“Create Connection Error!”);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">       </span>throw ex;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">public void close()<span style="mso-spacerun: yes">  </span>throws SQLException<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>try<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 36.0pt 45.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">           </span>if(m_stmt !=null) m_stmt.close();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">           </span>if(m_conn !=null) m_conn.close();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">catch(SQLException ex)<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>ex.printStackTrace();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println(“Close Connection Error!”);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>throw ex;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">public ResultSet executeQuery1(String sql) throws SQLException<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">       </span>try<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">    </span>m_stmt=m_conn.CreateStatement();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">    </span>return m_stmt.executeQuery(sql);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">catch(SQLException ex)<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>ex.printStackTrace();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println(“Execute SQL:’”+sql+”’ Error!’”);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println(ex.toString());<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println(ex.getMessage());<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>throw ex;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">public ResultSet executeQuery2(String sql) throws SQLException<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">        </span>try<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">    </span>m_stmt=m_conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 192.75pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">ResultSet.CONCUR_READ_ONLY);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">                    </span>return m_stmt..executeQuery(sql);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">catch(SQLException ex)<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>ex.printStackTrace();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println(“Execute SQL:’”+sql+”’ Error!’”);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println(ex.toString());<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println(ex.getMessage());<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>throw ex;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">public int executeUpdate(String sql) throws SQLException<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">      </span>try<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">      </span>Statement stmt=m_conn.createStatment();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">      </span>int rt=stmt.executeUpdate(sql);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">      </span>stmt.close();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">      </span>return rt;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">catch(SQLException ex)<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>ex.printStackTrace();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println(“Execute SQL:’”+sql+”’ Error!’”);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println(ex.toString());<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println(ex.getMessage());<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>throw ex;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">//</span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开始新事务</span> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">public void beginTrans() throws SQLException<span style="mso-spacerun: yes">     </span><o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">       </span>try<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>isAutoCommit=m_conn.getAutoCommit(); //</span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">获得当前自动提交状?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>m_conn.setAutoCommit(false);// </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">止自动提交</span> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">catch(SQLException ex)<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>ex.printStackTrace();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println("BeginTrans Error!");<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>throw ex;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">//</span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">保存M更改q结束当前事务。它也可能启动新事务</span> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">public void commitTrans() throws SQLException<span style="mso-spacerun: yes">  </span><o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?> <v:rect id="_x0000_s1026" style="MARGIN-TOP: 8.55pt; Z-INDEX: 1; MARGIN-LEFT: 270pt; WIDTH: 198pt; POSITION: absolute; HEIGHT: 54pt"> <span style="Z-INDEX: 1; WIDTH: 335px; POSITION: absolute; HEIGHT: 59px"> <table cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <td style="BORDER-RIGHT: #d4d0c8; BORDER-TOP: #d4d0c8; BORDER-LEFT: #d4d0c8; BORDER-BOTTOM: #d4d0c8; BACKGROUND-COLOR: transparent"> <div id="wmqeeuq" class="shape" style="PADDING-RIGHT: 7.2pt; PADDING-LEFT: 7.2pt; PADDING-BOTTOM: 3.6pt; PADDING-TOP: 3.6pt" v:shape="_x0000_s1026"> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">commit()</span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提交从上一ơ提?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> / </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">回滚操作后的更改Q之成为永久的更改Qƈ释放</span> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">Connection </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当前保持的Q何数据库锁?/span> <span style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> </span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只有当禁止自动提交时可以使用该方法?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p> </o:p> </span> </p> </div> </td> </tr> </tbody> </table> </span> </v:rect> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">       </span>try<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">                     </span>m_conn.commit();<span style="mso-spacerun: yes">  </span><o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt 45.0pt 54.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>m_conn.setAutoCommit(isAutoCommit);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">catch(SQLException ex)<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>ex.printStackTrace();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println("CommitTrans Error!");<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>throw ex;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">//</span> <span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">取消当前事务中所作的M更改q结束事务。它也可能启动新事务?/span> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">public void rollbackTrans() throws SQLException<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">       </span>try<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>m_conn.rollback();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>m_conn.setAutoCommit(isAutoCommit);<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">catch(SQLException ex)<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">{<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes"> </span> <span style="mso-spacerun: yes">    </span>ex.printStackTrace();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>System.out.println("RollbackTrans Error!");<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt"> <span style="mso-spacerun: yes">     </span>throw ex;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 35.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 14.25pt; tab-stops: 18.0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-size: 12.0pt">}<o:p></o:p></span> </p><img src ="http://www.aygfsteel.com/rain1102/aggbug/75879.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rain1102/" target="_blank">Eric.Zhou</a> 2006-10-18 13:31 <a href="http://www.aygfsteel.com/rain1102/archive/2006/10/18/75879.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ն</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">°Ͷ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">պ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ζ</a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɶ</a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank">ʳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank">֣</a>| <a href="http://" target="_blank">ǧ</a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank">ï</a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>