你用的是什麼書?
真是誤人子弟!!
这样,將if後面的then去掉:begin tran
update sales
set qty=qty+100
where stor_id=6380if @@error !=0
begin
print "sales表产生了错误"
return
end update stores
set qty=qty-100
where stor_id=6380if @@error != 0 or @@rowcount = 0
begin
rollback tran
print "stores表产生了错误"
return
end
真是誤人子弟!!
这样,將if後面的then去掉:begin tran
update sales
set qty=qty+100
where stor_id=6380if @@error !=0
begin
print "sales表产生了错误"
return
end update stores
set qty=qty-100
where stor_id=6380if @@error != 0 or @@rowcount = 0
begin
rollback tran
print "stores表产生了错误"
return
end
因为我们地处较偏,还特意从长沙买的,没想到会有这样的错误,但也不好再去另买一本了,
只好将就一下吧。最近我又碰到两个问题:
1、书上讲DATENAME(YEAR, '1996/09/24/')应返回1996,但我
照抄后运行时却出现以下信息:
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near 'YEAR'.
这不会又是书上印错了吧?2、另外我运行语句"select convert(char(6),getdate(),12)"时,结果为
------
010926
而运行语句"select convert(char(6),getdate(),11)"时,结果却为
------
01/09/
到底语句中的12与11分别代表什么意思?如得到这两个问题的解答,我将马上结帐!多谢!!!
select DATENAME(YEAR, '1996/09/24')
第二个:因为多了两个斜杠(/),总共占六位,所以后面的北截掉了
可以这样.
select convert(char(8),getdate(),11)
century
(yy) With
century
(yyyy) Standard Input/Output**
- 0 or 100 (*) Default mon dd yyyy hh:miAM (or PM)
1 101 USA mm/dd/yy
2 102 ANSI yy.mm.dd
3 103 British/French dd/mm/yy
4 104 German dd.mm.yy
5 105 Italian dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 or 109 (*) Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmdd
- 13 or 113 (*) Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 or 120 (*) ODBC canonical yyyy-mm-dd hh:mi:ss(24h)
- 21 or 121 (*) ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h)
日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。
在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。
不带世纪数位(yy) 带世纪数位(yyyy) 标准 输入/输出**
- 0 或 100 (*) 默认
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
9 或 109(*) 默认值 + 毫秒 mon dd yyyy
hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm
(24h)
14 114 - hh:mi:ss:mmm(24h)
20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
21 或 121 (*) ODBC 规范(带毫秒)yyyy-mm-dd hh:mm:ss[.fff]
126 (***) (不含空格)
130* 科威特 dd mon yyyy
hh:mi:ss:mmmAM
131* 科威特 dd/mm/yy hh:mi:ss:mmmAM