① 求解決:DB2 sql Error: SQLCODE=-413, SQLSTATE=22003, SQLERRMC=null, DRIVER=3.50.152
C或者D是數字類型嗎?
E的數據類型是不是smallInt,並且查詢的結果集比較大?
② 805插件已載入,命令行卻出現「未知命令808」,因而805插件無法操作,怎麼辦
操作資料庫流程中,遇到許多疑問,很多都與SQL CODE和SQL State有關,現在把一個完整的SQLCODE和SQLState不正確信息和有關解釋作以下說明,一來可以自己參考,對DB2不正確自行找出原由
(聲明:這是搜集網上的資料得來的,細致出處不記得了)
sqlcode sqlstate 說明
格式說明:ErrorCode:-302 SQLState:22001
-------------------------------------------
000 00000 SQL語句成功完成
01xxx SQL語句成功完成,但是有警告
+012 01545 未限定的列名被解釋為一個有相互聯系的引用
+098 01568 動態SQL語句用分號結束
+100 02000 沒有找到滿足SQL語句的行
+110 01561 用DATA CAPTURE定義的表的更新操作不能發送到原來的子系統
+111 01590 為2型索引配置了SUBPAGES語句
+117 01525 要插入的值的個數不等於被插入表的列數
+162 01514 指定的表空間被置為檢查掛起狀態
+203 01552 運用非唯一的名字來處理命名的限定列
+204 01532 命名的對象未在DB2中定義
+206 01533 命名的列不在SQL語句中指定的任何錶中存在
+218 01537 因為SQL語句引用一個遠程對象,不能為該SQL語句執行Exp LAIN
+219 01532 命名的PLAN TABLE不存在
+220 01546 不正確定義PLAN TABLE,檢查命名列的定義
+236 01005 SQLDA中的SQLN的值至少應於所描述的列的個數一樣大
+237 01594 至少有一個被描述的列應該是單值類型,因此擴展的SQLVAR條目須要另外的空間
+238 01005 至少應有一個被描述的列是一個LOB,因此擴展的SQLVAR條目須要另外的空間
+239 01005 至少應有一個被描述的列應是單值類型,因此擴展的SQLVAR條目須要另外的空間
+304 01515 該值不能被分配給宿主變數,因為該值不再數據類型的范圍之內
+331 01520 不能被翻譯的字元串,因此被配置為NULL
+339 01569 由於與DB2 2.2版本的子系統連接,所以可能存在字元轉換疑問
+394 01629 運用優化提示來選擇訪問路徑
+395 01628 配置了無效的優化提示,原由代碼指定了為什麼,忽略優化提示
+402 01521 未知的位置
+403 01522 本地不存在CREAT ALIAS對象
+434 01608 在DB2未來揭曉的版本中將不支持指定的特徵,IBM建議你停止運用這些特徵
+445 01004 值被CAST函數截取
+462 01Hxx 由用戶定義的函數或存儲流程發出的警告
+464 01609 命名的存儲流程超出了它可能返回的查詢結果集的個數限定
+466 01610 指定由命名的存儲流程返回的查詢結果集的個數。成功完成
+494 01614 由存儲流程返回的結果集的個數超過了由ASSOCIATE LOCATORS語句指定的結果集定位器的個數
+495 01616 因為倒台SQL的成本估算超出了在ELST中指定的警告閥值,所以發出警告
+535 01591 請求一個主健的定位更新,或請求一個運用自我引出約束的表的刪除操作
+541 01543 命名外健是一個重復的引用約束
+551 01548 命名的授權ID缺少在命名的DB2對象上執行命名操作的許可權
+552 01542 命名的授權ID缺少執行命名操作的許可權
+558 01516 已經被授權該PUBLIC,因此WITH GRANT OPTION不能用
+561 01523 對ALTER REFERENCES INDEX 和TRIGGER特權,PUBLIC AT ALL LOCATION無效
+562 01560 因為GRANTEE已經擁有這些特權,所以一個或更多的特權被忽略
+585 01625 模式名指定了不止一次
+599 01596 沒有為長字元數據類型(BLOB,CLOB和DBCLOB)建立比較函數
+610 01566 由於建立了一個指定為DEFER YES的索引,指定的對象處於PENDING狀態,或者因為運用了
ALTER INDEX改動關鍵值的范圍,所以指定的對象處於PENDING狀態
+625 01518 因為刪除了主健索引,所以表定義被標注為不完整
+626 01529 刪除了增強 UNIQUE約束的索引,唯一性不在被增強
+645 01528 因為建立的索引中沒有包含NULL,所以WHERE NOT NULL被忽略
+650 01538 不能修改或者建立已命名的表為從屬表
+653 01551 在已指定的分區表空間中尚沒有建立指定的分區索引,所以分區索引不可得
+655 01597 為CREATE或ALTER STOGROUP語句指定特定或者非特定的卷ID,在DB2較新揭曉的版本中(版本6
以後)將不再支持他們
+658 01600 當建立目錄索引時,不能指定SUBPAGES語句,SUBPAGES將被忽略,並預設為1
+664 01540 分區索引的限定關鍵字超出了最大值
+738 01530 已命名的對象的修改可能像只讀系統中對象的改動要求一樣
+799 0157 SET語句中引用的特定寄存器不存在,將忽略 SET請求
+802 01519 數據溢出或者因除法異常而引起的數據異常不正確
+806 01553 ISOLATION(RR)與LOCKSIZE PAGE 沖突
+807 01554 由於十進制乘法導致溢出
+863 01539 連接成功,但是只支持SBCS
+2000 56094 SUBPAGES不等於1的1型索引不能成為數據共享環境中的緩沖池組依賴者
+2002 01624 因為指定的緩沖池不允許超高速緩存,GNPCACHE指定被忽略
+2007 01602 因為DB2子系統的參數禁用「提示(hiats)」所以不能指定優化提示
+30100 01558 分布式協議不正確被檢測到,提供原來的SQLCODE和SQLSTATE
-007 42601 SQL語句中由非法字元
-010 42603 字元串常量非正常終止;檢查到有遺漏的引號標志
-029 42601 須要INTO語句
-060 42815 某特定數據類型的長度或者標量規范無效
-084 42612 不能執行SQL語句,因為該語句對動態SQL無效或者對OS/390的DB2無效
-097 42601 在單位類型、用戶自定義的函數以及流程中不能運用帶有CAST的LONG VARCHAR或
LONGVARGRAPHIC
-101 54001 SQL語句超出了已確定的DB2限定:例如,表的數目太多,語句中的位元組太多
-102 54002 字元串常量太長
-103 42604 無效數學文字
-104 42601 SQL語句中遇到非法符號
-105 42604 無效的字元串格式;通常引用一個格式不正確的圖形字元串
-107 42622 對象名太長
-108 42601 RENAME語句中指定的名字有不正確,不能運用限定詞
-109 42601 指定了無效語句;例如CREATE VIEW不能包含ORDER BY 語句
-110 42606 遇到了無效的十六進制的文字
-111 42901 指定的列函數沒有給出列名
-112 42607 無效的列函數語法;列函數不能運行與其他的列函數之上
-113 42602 遇到無效字元
-114 42961 該語句的位置名稱必須與當前伺服器匹配,但是卻沒有匹配
-115 42601 因為比較運算符沒有伴著一個表達式或者列表,遇到了無效謂詞
-117 42802 待插入的數值的個數於被插入的行中的列數不相等
-118 42902 數據修改語句(UPDATE或DELETE)和FROM語句中的表和視圖命名不正當
-119 42803 HAVING語句中的列的列表與GROUP BY語句中的列列表不匹配
-120 42903 不允許WHERE語句、SET語句、VALUES語句或者SET ASSIGNMENT語句引用列函數
-121 42701 在INSERT或UPDATE語句中,某一列被非法引用了兩次
-122 42803 非法運用了列函數。因為沒有用於一個列函數的所有列不再GROUP BY語句中
-123 42601 特定位置的參數必須是一個常數或者一個關鍵詞
-125 42805 ORDERBY語句中指定了無效數字,該數字要麼小於1要麼大於選定的列數
-126 42829 不能為一個UPDATE語句指定ORDER BY語句
-127 42905 在子選擇中DISTINCT只能指定一次
-128 42601 SQL謂詞中NULL運用不當
-129 54004 SQL語句中包含的表多於15個
-130 22019 ESCAPE語句必須為一個字元
22025 無效的ESCAPE模式
-131 42818 LIKE謂詞只能用於字元數據
-132 42824 LIKE語句、ESCAPE語句、LOCATE函數或POSSTR函數中有無效運算對象
-133 42906 無效有關子查詢引用
-134 42907 大於255位元組的列被不正確運用
-136 54005 排序關鍵字的長度大於4000位元組
-137 54006 被連接的字元串太大;字元的最大值為32767;圖形的最大值為16382
-138 22011 SUBSTR列函數的第二個或第三個操作符無效
-142 42612 不支持的SQL語句。該語句可能在另外的RDBMS上有效,也有可能在其他的上下文中有效(例
如,VALUES只能在觸發器中出現)
-144 58003 指定的段號無效
-147 42809 某一源函數不能修改。要改動源函數,必須刪除該源函數並重新建立他
-148 42809 RENAME和ALTER不能執行。RENAME不能對視圖或者活動RI.ST表重新命名。ALTER不能用於改動列的長度,因為該列參與了RI、
一個用戶退出程序、全局的臨時表或打開DATACAPTURE CHANGES表的列
-150 42807 觸發活動的INSERT,UPDATE或DELETE語句中指定了無效的視圖更新或一個無效的轉換表
-151 42808 試圖更新一個不可更新的視圖的列、一個DB2 CATALOG表的列或者一個ROWID列
-152 42809 DROP CHECK試圖刪除一個參照約束,或者DROP FOREIGN試圖刪除一個檢查約束
-153 42908 無效的視圖建立請求,必須為旋轉列表中列出的列出的未命名的列或者重復的列提供一個名字
-154 42909 不能用UNION、UNION ALL或者一個遠程表建立視圖
-156 42809 在視圖上建立索引是非法的,或者在ALTER TABLE,CREATE TRIGGER,DROP TABLE或LOCKTABLE
語句上指定一個不是表的其他對象這是無效的
-157 42810 必須在FOREIGN KEY語句中指定一個表名
-158 42811 視圖的列和選擇列表中的列不相匹配
-159 42089 無效DROP或COMMENT ON語句
-160 42813 對該視圖的WITH CHECK OPTION無效
-161 44000 正被更新的視圖WITH CHECK OPTION語句使得這行不能被插入或更新
-164 42502 用戶沒有建立這個視圖的許可權
-170 42605 標量函數指定了無效的參數個數
-171 42815 標量函數指定了無效的數據類型長度或者無效數值
-173 42801 在非只讀型的游標上不能指定隔離級別UR
-180 22007 DATE、TIME、TIMESTAMP值的字元串表示法的語法不對
-181 22001 不是有效的DATE、TIME、TIMESTAMP值
-182 42816 在算術表達式中的日期/時間值無效
-183 22008 在算術表達式中返回的日期/時間值的結果不在有效值的范圍內
-184 42610 沒有正確運用日期/時間值的參數標記
-185 57008 沒有定義本定的日期/時間出口
-186 22505 改動本定的日期/時間出口引發這個程序的長度無效
-187 22506 MVS返回無效的當前日期/時間
-188 22503 字元串表示無效
-189 22522 指定的編碼字元集的ID無效或沒有定義
-190 42837 不能象所設定的那樣改動(ALTER)列。只能改動(ALTER)VARCHAR列的長度
-191 22504 字元串中包含了無效的混合數據
-197 42877 當兩個或多個表被聯合在一起排序時,限定的列名不能在ORDER BY語句中運用
-198 42617 試圖對空的字元串揭曉一個PREPARE或EXECUTE IMMEDIATE語句
-199 42601 SQL語句中運用了非法關鍵詞
-203 42702 模糊列引用
-204 42704 沒有定義的對象名
-205 42703 指定的表的列名無效
-206 42703 列名沒有在FROM語句所引用的任何錶中,或者沒有在定義觸發器所在的表中
-208 42707 不能ORDER BY指定列,應為該列不在選擇列表中
-212 42712 指定的表名在觸發器中不允許多次運用,只能運用一次
-214 42822 DISTINCT、ORDER BY 引起的無效表達式
-219 42704 因為PLAN_TABLE不存在,Exp LAIN不能執行
-220 55002 遇到無效的PLAN_TABLE列
-221 55002 如果為PLAN_TABLE定義了可供選擇的列,那麼,必須定義所有的列
-229 42708 指定的現場找不到
-240 428B4 LOCK TABLE語句的PART子句無效
-250 42718 沒有定義本地位置名
-251 42602 記號無效
-300 22024 宿主變數或參數中的字元串不是以NULL為終止
-301 42895 無效的宿主變數數據類型
-302 22001 輸入的變數值對指定的列無效
-303 42806 因為數據類型不兼容,不能分配數值
-304 22003 因為數據超出了范圍,不能分配數值
-305 22002 沒有NULL指示符變數
-309 22512 因為引用的宿主變數被配置成NULL,所以謂詞無效
-310 22501 十進制的宿主變數或參數包含非十進制數據
-311 22501 輸入的宿主變數長度無效,或者時負值或者太大
-312 42618 沒有定義宿主變數或者宿主變數不能用
-313 07001 宿主變數的個數不等於參數標識的個數
-314 42714 模糊的宿主變數引用
-327 22525 在最後分區的關鍵字范圍內,不能插入行
-330 22021 不能成功的翻譯字元串
-331 22021 字元串不能分配到宿主變數,因為其不能成功的被翻譯
-332 57017 不能為兩個命名的編碼字元集的ID定義翻譯准則
-333 56010 子類型無效導致翻譯失敗
-338 42972 ON語句無效,必須引用連接的列
-339 56082 訪問DB2 2.2版本的子系統被拒絕,原由時ASCII到EBCDIC翻譯不能執行
-350 42962 無效的大對象規范
-351 56084 SELECT列表中有不支持的數據類型
-352 56084 輸入列表中有不支持的數據類型
-355 42993 LOB列太大,以至不能被記錄在日誌中
-372 428C1 每個表只允許有一個ROWID列
-390 42887 在上下文中指定的函數無效
-392 42855 自從前一次FETCH以來,指定游標的SQLDA已被不恰當的改動
-396 38505 在最後的訪問流程中,視圖執行SQL語句
-397 428D3 在某一列上不恰當的指定了GENERATED因為該列不是ROWID數據類型
-398 428D2 為某一個宿主變數請求LOCATOR,但是該宿主變數不是一個LOB
-399 22511 在INSERT語句中為ROWID列指定的值無效
-400 54027 在DB2編目中定義的用戶自定義索引不能超過100個
-401 42818 算術操作符或比較操作符的操作對象不是兼容的
-402 42819 算術函數不能用於字元或日期時間數據
-404 22001 SQL語句指定的字元串太長
-405 42820 數值文字超出了范圍
-406 22003 計算出的或者倒出的數值超出了范圍
-407 23502 不能把NULL值插到定義為NOT NULL的列中
-408 42821 數值不能被更新或插入,因為他與列的數據類型不兼容
-409 42607 COUNT函數指定的運算對象無效
-410 42820 浮點文字筆30個字元的最大允許長度長
-411 56040 CURRENT SQLID運用無效
-412 42823 在子查詢的選擇列表中遇到了多個列
-413 22003 當轉換為一個數字型數據類型時,數據溢出
-414 42824 LIKE謂詞不能運行於用數字或日期時間類型定義的列
-415 42825 為UNION操作指定的選擇列表不是聯合兼容的
-416 42907 包含UNION操作符的SQL語句不允許有長的字元串列
-417 42609 兩參數標識符作為運算對象被指定在同一謂詞的兩邊
-418 42610 參數標識符運用無效
-419 42911 十進制除法無效
-420 22018 字元串自變數值不符合函數的要求
-421 42826 UNION操作的選擇列表中沒有提供相同數目的列
-423 0F001 為LOB或結果集定位器指定的值無效
-426 2D528 在不允許更新的運用 伺服器不允許執行COMMIT語句
-427 2D529 在不允許更新的運用 伺服器不允許執行ROLLBACK語句
-430 38503 在用戶自定義的函數或存儲流程中遇到了不正確
-433 22001 指定的值太長
-435 428B3 無效的運用 定義的SQLSTATE
-438 xxxxx 運用了RAISE_ERROR函數的運用 發出了一個不正確
-440 42884 存儲流程或用戶自定義函數的參數列表參數個數於預期的個數不匹配
-441 42601 與標量函數一起運用 DISTINCT或ALL是不正確的用法
-443 42601 指定的外部函數返回不正確的SQLSTATE
-444 42724 與被稱為存儲流程或用戶自定義函數有關的程序不能找到
-449 42878 對存儲流程或用戶自定義的函數,CREATE或ALTER語句不正確(缺失EXTERNAL NAME 子句)
-450 39501 存儲流程或用戶自定義函數寫入存儲器的值超過了參數聲明的長度
-451 42815 CREATE FUNCTION中指定了不正確的數據類型
-453 42880 用戶自定義函數中的RETURNS語句無效
-454 42723 指定的函數識別標記與已存在的另一函數的識別標記沖突
-455 42882 模式名不比配
-456 42710 為用戶自定義函數指定的函數名已經存在
-457 42939 用戶自定義函數或用戶自定義類型正試圖運用系統中定義的函數或者類型所用的名稱
-458 42883 沒有找到函數
-463 39001 特定的外部常式返回無效的SQLSTATE
-469 42886 參數定義為OUT或INOUT的CALL語句必須提供宿主變數
-470 39002 指定了NULL參數,但是該常式卻不支持NULL
-471 55023 存儲流程或用戶自定義函數失敗:提供原由代碼
-472 24517 外部的函數程序使游標處於打開狀態
-473 42918 用戶自定義數據類型命名不能和系統定義的數據類型一樣
-475 42866 結果類型不能被轉換成RETURNS類型
-476 42725 在其模式中該函數不是獨一無二的
-478 42893 不能DROP或REVOKE特定的對象,因為其他對象依賴於該對象
-480 51030 直到存儲流程已經被CALL後,DESCRIBE PROCEDURE和ASSOCIATE LOCATORS才能被揭曉
-482 51030 存儲流程不返回到任何一個定位器
-483 42885 CREATE FUNCTION語句中的參數個數與源函數中的參數個數不匹配
-487 38001 選擇了NO SQL選項建立指定的存儲流程或用戶自定義函數,但卻視圖揭曉 SQL語句
-491 42601 CREATE FUNCTION語句無效,因為該語句沒有RETURNS語句或者因為該語句沒有指定有效的SOURCE或者EXTERNAL語句
-492 42879 指定函數的指定參數的個數有不正確
-495 57051 語句的估計處理器成本超出了資源限定
-496 51033 語句不能執行,因為當前伺服器與調用存儲流程的伺服器不同
-497 54041 指定的資料庫超過了32767 OBID的上限,或者CREATE DATABASE語句使之達到了32511DBID的上限
③ db2 加法 報22003數值超出范圍錯誤
-2147483647到2147483647,DB2默認為int類型,1000000000 +2000000000
超過了int類型的范圍,所以報錯
而20000000000 默認為bigint類型,所以不報錯。
select1+2147483647fromSYSIBM.DUAL;--把1改成0就不報錯
select1000000000+bigint(2000000000)fromSYSIBM.DUAL--強制轉換之後不報錯
④ [IBM][CLI Driver][DB2/NT] SQL0802N 發生算術溢出或其他算術異常。 SQLSTATE=22003
DB2會發生算術溢出。一般的因為除法引起的。 把除法的被除數或者除數的小數位調整下就可以了。具體結果位數可以網路下。
⑤ 如何解決postgresql 錯誤:08p01:無效的信息格式
Appendix A. PostgreSQL錯誤代碼
PostgreSQL伺服器發出的所有消息都賦予 了五個字元的錯誤代碼,這些代碼遵循 SQL 的"SQLSTATE" 代碼的習慣。需要知道發生了什麼錯誤條件的應用通常應該測試錯誤代碼, 而不是查看文本錯誤信息。這些錯誤代碼輕易不會隨著PostgreSQL 的版本更新而修改,並且一般也不會隨著錯誤信息的本地化而發生修改。 請注意有些(但不是全部)PostgreSQL生成的錯誤代碼是 由 SQL 標準定義的;有些標准沒有定義的錯誤條件是發明的或者是從其它資料庫借來的。
根據標准,錯誤代碼的頭兩個字元表示錯誤類別, 而後三個字元表示在該類別內特定的條件。因此, 那些不能識別特定錯誤代碼的應用仍然可以從錯誤類別中推斷要做什麼。
Table A-1裡面列出了PostgreSQL 8.2.3 定義的所有錯誤代碼(有些實際上目前並沒有使用, 但是 SQL 標準定義了)。錯誤類別也列出在此。對於每個錯誤類別都有個 "標准"的錯誤代碼,它的最後三個字元是000。 這個代碼只用於那些落在該類別內,但是沒有賦予任何更准確的代碼的錯誤條件。
PL/pgSQL用於每個錯誤代碼的條件名和表中顯示的措辭相同, 只是用下劃線代替了空白。比如,代碼22012, DIVISION BY ZERO 的條件名是DIVISION_BY_ZERO。 條件名大小寫無關。(請注意PL/pgSQL並不識別警告,這一點和錯誤、條件名正相反;那些是 00, 01, 02 類別。)
Table A-1. PostgreSQL 錯誤代碼
錯誤代碼
含義
常量名
Class 00 — 成功完成
00000 成功完成 successful_completion
Class 01 — 警告
01000 警告 warning
0100C 返回了動態結果 dynamic_result_sets_returned
01008 警告,隱含補齊了零比特位 implicit_zero_bit_padding
01003 在集合函數里消除null null_value_eliminated_in_set_function
01007 沒有賦予許可權 privilege_not_granted
01006 沒有撤銷許可權 privilege_not_revoked
01004 字元串數據在右端截斷 string_data_right_truncation
01P01 廢棄的特性 deprecated_feature
Class 02 — 沒有數據(按照 SQL 標準的要求,這也是警告類)
02000 沒有數據 no_data
02001 返回了沒有附加動態結果集 no_additional_dynamic_result_sets_returned
Class 03 — SQL語句尚未結束
03000 SQL語句尚未結束 sql_statement_not_yet_complete
Class 08 — 連接異常
08000 連接異常 connection_exception
08003 連接不存在 connection_does_not_exist
08006 連接失敗 connection_failure
08001 SQL 客戶端不能建立 SQL 連接 sqlclient_unable_to_establish_sqlconnection
08004 SQL 伺服器拒絕建立 SQL 連接 sqlserver_rejected_establishment_of_sqlconnection
08007 未知的事務解析 transaction_resolution_unknown
08P01 違反協議 protocol_violation
Class 09 — Triggered Action Exception觸發器動作異常
09000 觸發器動作異常 triggered_action_exception
Class 0A — 不支持特性
0A000 不支持此特性 feature_not_supported
Class 0B — 非法事務初始化
0B000 非法事務初始化 invalid_transaction_initiation
Class 0F — 定位器異常
0F000 定位器異常 locator_exception
0F001 非法的定位器聲明 invalid_locator_specification
Class 0L — 非法賦權者
0L000 非法賦權者 invalid_grantor
0LP01 非法賦權操作 invalid_grant_operation
Class 0P — 非法角色聲明
0P000 非法角色聲明 invalid_role_specification
Class 20 — 未發現情況
20000 未發現情況 case_not_found
Class 21 — 勢違例
21000 勢違例 cardinality_violation
Class 22 — 數據異常
22000 數據異常 data_exception
2202E 數組下標錯誤 array_subscript_error
22021 字元不在規定范圍內 character_not_in_repertoire
22008 日期時間欄位溢出 datetime_field_overflow
22012 被零除 division_by_zero
22005 賦值中出錯 error_in_assignment
2200B 逃逸字元沖突 escape_character_conflict
22022 INDICATOR OVERFLOW指示器溢出 indicator_overflow
22015 內部欄位溢出 interval_field_overflow
2201E 對數運算的非法參數 invalid_argument_for_logarithm
22014 NTILE函數的無效參數 invalid_argument_for_ntile_function
22016 N倍函數的無效參數 invalid_argument_for_nth_value_function
2201F 指數函數的無效參數 invalid_argument_for_power_function
2201G BUCKET函數的非法參數 invalid_argument_for_width_bucket_function
22018 類型轉換時非法的字元值 invalid_character_value_for_cast
22007 非法日期時間格式 invalid_datetime_format
22019 非法的逃逸字元 invalid_escape_character
2200D 非法的逃逸位元組 invalid_escape_octet
22025 非法逃逸序列 invalid_escape_sequence
22P06 非標准使用逃逸字元 nonstandard_use_of_escape_character
22010 非法指示器參數值 invalid_indicator_parameter_value
22023 非法參數值 invalid_parameter_value
2201B 非法正則表達式 invalid_regular_expression
2201W 無效的行數限制 invalid_row_count_in_limit_clause
2201X 在結果抵消子句中無效的行數 invalid_row_count_in_result_offset_clause
22009 非法時區顯示值 invalid_time_zone_displacement_value
2200C 逃逸字元的非法使用 invalid_use_of_escape_character
2200G 最相關類型不匹配 most_specific_type_mismatch
22004 不允許 NULL 值 null_value_not_allowed
22002 NULL 值不能做指示器參數 null_value_no_indicator_parameter
22003 數字值超出范圍 numeric_value_out_of_range
22026 字元串數據長度不匹配 string_data_length_mismatch
22001 字元串數據右邊被截斷 string_data_right_truncation
22011 抽取子字元串錯誤 substring_error
22027 截斷錯誤 trim_error
22024 未結束的 C 字元串 unterminated_c_string
2200F 零長度的字元串 zero_length_character_string
22P01 浮點異常 floating_point_exception
22P02 非法文本表現形式 invalid_text_representation
22P03 非法二進製表現形式 invalid_binary_representation
22P04 錯誤的COPY文件格式 bad__file_format
22P05 不可翻譯字元 untranslatable_character
2200L 不是一個XML文檔 not_an_xml_document
2200M 無效的XML文檔 invalid_xml_document
2200N 無效的XML內容 invalid_xml_content
2200S 無效的XML評論 invalid_xml_comment
2200T 無效的XML處理指令 invalid_xml_processing_instruction
Class 23 — 違反完整性約束
23000 違反完整性約束 integrity_constraint_violation
23001 約束限制 restrict_violation
23502 NOT NULL VIOLATION違反非空 not_null_violation
23503 違反外鍵約束 foreign_key_violation
23505 違反唯一約束 unique_violation
23514 違反檢查 check_violation
23P01 違反排除 exclusion_violation
Class 24 — 非法游標狀態
24000 非法游標狀態 invalid_cursor_state
Class 25 — 非法事務狀態
25000 非法事務狀態 invalid_transaction_state
25001 活躍的SQL狀態 active_sql_transaction
25002 分支事務已經激活 branch_transaction_already_active
25008 持有的指針要求同樣的隔離級別 held_cursor_requires_same_isolation_level
25003 對分支事務的不恰當的訪問方式 inappropriate_access_mode_for_branch_transaction
25004 對分支事務的不恰當的隔離級別 inappropriate_isolation_level_for_branch_transaction
25005 分支事務沒有活躍的SQL事務 no_active_sql_transaction_for_branch_transaction
25006 只讀的SQL事務 read_only_sql_transaction
25007 不支持混和的模式和數據語句 schema_and_data_statement_mixing_not_supported
25P01 沒有活躍的SQL事務 no_active_sql_transaction
25P02 在失敗的SQL事務中 in_failed_sql_transaction
Class 26 — 非法SQL語句名
26000 非法SQL語句名 invalid_sql_statement_name
Class 27 — 觸發數據更改違規
27000 觸發數據更改違規 triggered_data_change_violation
Class 28 — 非法授權聲明
28000 非法授權聲明 invalid_authorization_specification
28P01 非法密碼 invalid_password
Class 2B — 依然存在依賴的優先順序描述符
2B000 依然存在依賴的優先順序描述符 dependent_privilege_descriptors_still_exist
2BP01 依賴性對象仍然存在 dependent_objects_still_exist
Class 2D — 非法的事務終止
2D000 非法的事務終止 invalid_transaction_termination
Class 2F — SQL過程異常
2F000 SQL過程異常 sql_routine_exception
2F005 執行的函數沒有返回語句 function_executed_no_return_statement
2F002 不允許修改SQL數據 modifying_sql_data_not_permitted
2F003 企圖使用禁止的SQL語句 prohibited_sql_statement_attempted
2F004 不允許讀取SQL數據 reading_sql_data_not_permitted
Class 34 — 非法指針名
34000 非法指針名 invalid_cursor_name
Class 38 — 外部過程異常
38000 外部過程異常 external_routine_exception
38001 不允許包含的SQL containing_sql_not_permitted
38002 不允許修改SQL數據 modifying_sql_data_not_permitted
38003 企圖使用禁止的SQL語句 prohibited_sql_statement_attempted
38004 不允許讀取SQL數據 reading_sql_data_not_permitted
Class 39 — 外部過程調用異常
39000 外部過程調用異常 external_routine_invocation_exception
39001 返回了非法的SQL狀態 invalid_sqlstate_returned
39004 不允許使用NULL null_value_not_allowed
39P01 違反觸發器協議 trigger_protocol_violated
39P02 違反 SRF 協議 srf_protocol_violated
Class 3B — 保存點異常
3B000 保存點異常 savepoint_exception
3B001 無效的保存點聲明 invalid_savepoint_specification
Class 3D — 非法目錄名
3D000 非法目錄名 invalid_catalog_name
Class 3F — 非法模式名
3F000 非法模式名 invalid_schema_name
Class 40 — 事務回滾
40000 事務回滾 transaction_rollback
40002 違反事務完整性約束 transaction_integrity_constraint_violation
40001 串列化失敗 serialization_failure
40003 不知道語句是否結束 statement_completion_unknown
40P01 偵測到死鎖 deadlock_detected
Class 42 — 語法錯誤或者違反訪問規則
42000 語法錯誤或者違反訪問規則 syntax_error_or_access_rule_violation
42601 語法錯誤 syntax_error
42501 許可權不夠 insufficient_privilege
42846 無法進行類型轉換 cannot_coerce
42803 分組錯誤 grouping_error
42P20 開窗口錯誤 windowing_error
42P19 非法遞歸 invalid_recursion
42830 非法的外鍵 invalid_foreign_key
42602 非法名稱 invalid_name
42622 名稱過長 name_too_long
42939 保留名稱 reserved_name
42804 數據類型不匹配 datatype_mismatch
42P18 模糊數據類型 indeterminate_datatype
42809 錯誤的對象類型 wrong_object_type
42703 未定義的欄位 undefined_column
42883 未定義的函數 undefined_function
42P01 未定義的表 undefined_table
42P02 未定義的參數 undefined_parameter
42704 未定義對象 undefined_object
42701 重復的欄位 plicate_column
42P03 重復的游標 plicate_cursor
42P04 重復的資料庫 plicate_database
42723 重復的函數 plicate_function
42P05 重復的預備語句 plicate_prepared_statement
42P06 重復的模式 plicate_schema
42P07 重復的表 plicate_table
42712 重復的別名 plicate_alias
42710 重復的對象 plicate_object
42702 模糊的欄位 ambiguous_column
42725 模糊的函數 ambiguous_function
42P08 模糊的參數 ambiguous_parameter
42P09 模糊的別名 ambiguous_alias
42P10 非法欄位引用 invalid_column_reference
42611 非法欄位定義 invalid_column_definition
42P11 非法游標定義 invalid_cursor_definition
42P12 非法資料庫定義 invalid_database_definition
42P13 非法函數定義 invalid_function_definition
42P14 非法預備語句定義 invalid_prepared_statement_definition
42P15 非法模式定義 invalid_schema_definition
42P16 非法表定義 invalid_table_definition
42P17 非法對象定義 invalid_object_definition
Class 44 — 違反 WITH CHECK 選項
44000 違反 WITH CHECK 選項 with_check_option_violation
⑥ sql查詢語句——多重查詢
select count(*) num, system
from site_visitmessage
where visit_time > '2009-07-17 03:20:22'
and visit_time < '2009-07-27 03:20:22'
order by num desc
⑦ 求交大自考資料庫系統原理實驗考的范圍~
這個是2010年5月16日上海交大的資料庫系統原理的試題培訓題,一共有16道。考試的題目就是從這16道中選擇9道,通過5道就算通過了。
考試用的是SQL Server 2000
《資料庫原理》上機考試環境
先打開我的電腦 查看是否有F盤 和G盤。
然後啟動Microsoft SQL server 查詢分析器 輸入SQL server 伺服器名(cs-gate-2)、 登錄名(user機器號)和密碼(user機器號) 進入查詢分析器窗口。
完成考題後,請查看F盤上是否存在一個.sql 和一個.txt文件。
--------------------------------------------------------------------
模擬題
在「學生管理庫」下有已表:S(Sno,Sname,Ssex,Sage,Sdept,
Sclass)分別表示:學號、姓名、性別、年齡和系名和班級;C(Cno,Cname,Ctime)分別表示:課程號、課程名和學時數;S_C(Sno,Cno,Grade)分別表示:學號、課程號和成績。
1. 找出所有成績小於60分的學生姓名、學號和成績。
2. 統計所有參加選修學生的人數。
3.找出選修「數據結構」課程最高成績學生的姓名、性別、年齡及
分數。
4. 找出比機械繫所有學生年齡都小的其他系學生的學號和姓名。
5. 找出所有選修「資料庫原理」課程學生的姓名、系名和成績。
6. 建一新表:T_C (Tno (教師編號,C, 4), Cno(課程號,C,3),
Sclass(班級, C, 6), Rno(教室,C,4)),輸入如下內容:
Tno Cno Sclass Rno
T001 C1 210201 R111
T002 C2 210201 R115
T003 C3 210201 R203
T004 C4 220202 R301
T005 C5 220202 R101
T006 C6 220202 R201
7. 找出選修「操作系統」課程的210201班學生上課所在教室及教
師編號。
8. 將對T_C表的刪除權轉授於user7,查詢、插入權轉授於user2
和user3。
9. 找出選修T006教師所上課程的課程名及學時數。
10. 找出在R111教室上課的學生姓名與課程名。
11. 找出210201班C1課程的教師編號及學生成績,並按成績降
序輸出。
12. 找出至少選修三門(包括三門)以上課程學生的學號、姓名
和班級。
13. 找出最低分學生的學號、姓名和成績。
14. 建一視圖:H_S_C:包含屬性:Sname,Cname,Grade, 它是所有
成績大於60分學生的信息。
15. 統計選修「C3」課程的學生人數。
16. 列出每位學生的學號和平均成績,並按學號降序排列。
----------------------------------------------------------------
模擬題參考答案:
1. Select S.Sname,S_C.Sno,S_C.Grade from S,S_C where
S.Sno=S_C.Sno and Grade < 60
2. Select count(S.Sno) from S where S.Sno in (select distinct Sno
from S_C) (或 Select distinct count (Sno) from S )
3. Select Sname,Ssex,Sage,Grade from S,S_C where S.Sno =
S_C.Sno and Grade =(select max (grade) from S_C,C where
C.Cno = S_C.Cno and Cname = 『數據結構』)
4. Select Sno,Sname from S where Sdept <> 『機械』 and Sage < (select min(Sage) from S group by Sdept having Sdept=『機械』)
5. Select S.Sname,S.Sdept,S_C.Grade from S,S_C where S.Sno = S_C.Sno and S_C.Cno in (select Cno from C where Cname = 『資料庫原理』)
6. Create table T_C(Tno char(4) not null,Cno char(3) not null,
Sclass char(6) not null, Rno char(4) not null)
Insert into T_C values(『T001』, 『 C1』, 『 210201』, 『 R111』)
Insert into T_C values(『T002』, 『 C2』, 『 210201』, 『 R115』)
Insert into T_C values(『T003』, 『 C3』, 『 210201』, 『 R203』)
Insert into T_C values(『T004』, 『 C4』, 『 210202』, 『 R301』)
Insert into T_C values(『T005』, 『 C5』, 『 210202』, 『 R101』)
Insert into T_C values(『T006』, 『 C6』, 『 210202』, 『 R201』)
7. Select Rno,Tno from T_C where Cno = (select Cno from C where
Cname = 『操作系統』) and Sclass = 『210201』
8. Grant delete on T_C to user7
Grant select,insert on T_C to user2,user3
9. Select C.Cname,Ctime from C where C.Cno in (select Cno from T_C where Tno = 『T006』)
10. Select S.Sname,C.Cname from S,C,S_C where S.Sno=S_C.Sno and
C.Cno=S_C.Cno and C.Cno in (Select Cno from T_C where Rno =
『R111』)
11. Select T_C.Tno,S_C.Grade from T_C,S_C where T_C.Cno =
S_C.Cno and T_C.Cno = 『C1』 and T_C.Sclass = 『210201』order by S_C.Grade desc
12. Select Sno,Sname,Sclass from S where Sno in (select Sno from
S_C group by Sno having count(Sno) >= 3)
13. Select S.Sno,S.Sname,S_C.Grade from S,S_C where
S.Sno=S_C.Sno and S_C.Grade = (Select min(Grade) from S_C)
14. Create view H_S_C as (Select S.Sname,C.Cname,S_C.Grade from
S,C,S_C where S_C.Cno = C.Cno and S_C.Sno = S.Sno and
S_C.Grade > 60)
15. Select count(*) from S_C where Cno = 『C3』
16. Select Sno,avg(Grade) from S_C group by Sno order by Sno
desc
----------------------------------------------------------------
S,C,S_C三個表考試時已經建好了,數據也有。
附表1( C表 )
Cno Cname Ctime
C6 CAD設計 54
C7 匯編語言 60
C4 C程序設計 64
C3 資料庫原理 72
C5 計算機原理 72
C1 操作系統 82
C2 數據結構 92
--C
--create table
create table C
(
Cno char(2) not null,
Cname char(10) ,
Ctime smallint ,
primary key(Cno)
);
-- insert data to C
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C6','CAD設計','54');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C7','匯編語言','60');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C4','C程序設計','64');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C3','資料庫原理','72');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C5','計算機原理','72');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C1','操作系統','80');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C2','數據結構','92');
附表2 (S表)
Sno Sname Ssex Sage Sdept Sclass
21002 張紅 女 57 計算機 210201
22003 李進 男 53 機械 220202
24001 趙明 男 55 汽車 240203
23005 施英 女 24 信息 230001
23006 丁林 男 55 信息 230002
22004 劉晨 男 52 機械 220202
--S
--create table
create table S
(
Sno char(5) not null,
Sname char(6) not null,
Ssex char(2) ,
Sage smallint ,
Sdept char(6) ,
Sclass char(6) ,
primary key(Sno)
);
-- insert data to S
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('21002','張紅','女','57','計算機','210201');
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('22003','李進','男','53','機械','220202');
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('24001','趙明','男','55','汽車','240203');
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('23005','施英','女','24','信息','230001');
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('23006','丁林','男','55','信息','230002');
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('22004','劉晨','男','52','機械','220202');
附表3(S_C表)
Cno Cname Ctime
21002 C1 50
21002 C5 79
21002 C7 53
22003 C1 81
22003 C2 55
22003 C4 76
22003 C5 91
24001 C2 83
24001 C3 88
24001 C4 71
22004 C3 94
23005 C4 60
23005 C5 54
23006 C1 73
23006 C3 65
23006 C5 84
--S_C
--create table
create table S_C
(
Sno char(5) not null,
Cno char(2) not null,
Grade smallint ,
primary key(Sno,Cno)
);
-- insert data to S_C
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('21002','C1','50');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('21002','C5','79');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('21002','C7','53');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('22003','C1','81');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('22003','C2','55');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('22003','C4','76');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('22003','C5','91');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('24001','C2','83');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('24001','C3','88');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('24001','C4','71');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('22004','C3','94');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('23005','C4','60');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('23005','C5','54');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('23006','C1','73');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('23006','C3','65');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('23006','C5','84');
-----
結束
⑧ 幫忙看看這句MySql語句,老是出錯,語句是按照書本寫上去的。
看看這個
SQL中,int(M) 在 integer 數據類型中,M 表示最大顯示寬度。
在 int(M) 中,M 的值跟 int(M) 所佔多少存儲空間並無任何關系。 int(3)、int(4)、int(8) 在磁碟上都是佔用 4 btyes 的存儲空間。說白了,除了顯示給用戶的方式有點不同外,int(M) 跟 int 數據類型是相同的。
如果int的值為10
int(10)顯示結果為0000000010
int(3)顯示結果為010
就是顯示的長度不一樣而已 都是佔用四個位元組的空間
⑨ 乞助:SQL Anywhere 8 8.0.3.5594資料庫最年夜行數是若干好多
能告訴我這個SQLSTATE = 22003 怎麼解決嗎?我在測試,我試圖在一個表中插入1一標識表記標幟錄,我的pb軌范就遏制紡暌鉤了
⑩ DB2 數據導入 20100101,1,18,3,825,750867,1.000000,2.200000,2.200000,3133732,1,105 這個格式的
你是用的import還是用的load呀?導入時加一個日誌輸出嘛,看看從你的文件中讀取了多少行數據,插入了多少行,最後提交了多少行