當前位置:首頁 » 編程語言 » sql資料庫速記
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql資料庫速記

發布時間: 2022-12-06 22:23:45

『壹』 Mysql異常處理淺析

MySQL的異常處理分析如下:
標准格式
DECLARE
handler_type
HANDLER
FOR
condition_value[,...]
statement
handler_type:
CONTINUE
|
EXIT
|
UNDO
--這個暫時不支持
condition_value:
SQLSTATE
[VALUE]
sqlstate_value
|
condition_name
|
SQLWARNING
|
NOT
FOUND
|
SQLEXCEPTION
|
mysql_error_code
condition_value細節
1、常用MYSQL
ERROR
CODE
列表
http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html
更多錯誤列表見MySQL安裝路徑下
比如我的/usr/local/mysql/share/mysql/errmsg.txt
說明一下:SQLSTATE
[VALUE]
sqlstate_value這種格式是專門為ANSI
SQL

ODBC以及其他的標准.
並不是所有的MySQL
ERROR
CODE
都映射到SQLSTATE。
2、如果你不想插ERROR
CODE的話,就用速記條件來代替
SQLWARNING
代表所有以01開頭的錯誤代碼
NOT
FOUND
代表所有以02開頭的錯誤代碼,當然也可以代表一個游標到達數據集的末尾。
SQLEXCEPTION
代表除了SQLWARNING和NOT
FOUND
的所有錯誤代碼
3、我們現在就用手冊上的例子
CREATE
TABLE
t
(s1
int,primary
key
(s1));
mysql>
use
t_girl
Database
changed
mysql>
CREATE
TABLE
t
(s1
int,primary
key
(s1));
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
mysql>
mysql>
DELIMITER
||
mysql>
CREATE
PROCEDURE
handlerdemo
()
->
BEGIN
->
DECLARE
EXIT
HANDLER
FOR
SQLSTATE
'23000'
BEGIN
END;
--
遇到重復鍵值就退出
->
SET
@x
=
1;
->
INSERT
INTO
t
VALUES
(1);
->
SET
@x
=
2;
->
INSERT
INTO
t
VALUES
(1);
->
SET
@x
=
3;
->
END||
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
DELIMITER
;
mysql>
call
handlerdemo();
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
select
@x;
+------+
|
@x
|
+------+
|
2
|
+------+
1
row
in
set
(0.00
sec)
mysql>
call
handlerdemo();
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
select
@x;
+------+
|
@x
|
+------+
|
1
|
+------+
1
row
in
set
(0.00
sec)
mysql>
現在來看一下遇到錯誤繼續的情況
mysql>
truncate
table
t;
Query
OK,
0
rows
affected
(0.01
sec)
mysql>
DELIMITER
$$
mysql>
DROP
PROCEDURE
IF
EXISTS
`t_girl`.`handlerdemo`$$
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
CREATE
DEFINER=`root`@`localhost`
PROCEDURE
`handlerdemo`()
->
BEGIN
->
DECLARE
CONTINUE
HANDLER
FOR
SQLSTATE
'23000'
BEGIN
END;
->
SET
@x
=
1;
->
INSERT
INTO
t
VALUES
(1);
->
SET
@x
=
2;
->
INSERT
INTO
t
VALUES
(1);
->
SET
@x
=
3;
->
END$$
Query
OK,
0
rows
affected
(0.01
sec)
mysql>
DELIMITER
;
mysql>
call
handlerdemo();
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
select
@x;
+------+
|
@x
|
+------+
|
3
|
+------+
1
row
in
set
(0.00
sec)
mysql>
call
handlerdemo();
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
select
@x;
+------+
|
@x
|
+------+
|
3
|
+------+
1
row
in
set
(0.00
sec)
mysql>
可以看到,始終執行到最後。
當然,上面的SQLSTATE
'23000'可以替換為1062
我們來看一下警告。
mysql>
alter
table
t
add
s2
int
not
null;
Query
OK,
0
rows
affected
(0.01
sec)
Records:
0
Duplicates:
0
Warnings:
0
此列沒有默認值,插入的時候會出現警告或者1364錯誤提示。
mysql>
DELIMITER
$$
mysql>
DROP
PROCEDURE
IF
EXISTS
`t_girl`.`handlerdemo`$$
Query
OK,
0
rows
affected,
1
warning
(0.00
sec)
mysql>
CREATE
DEFINER=`root`@`localhost`
PROCEDURE
`handlerdemo`()
->
BEGIN
->
DECLARE
CONTINUE
HANDLER
FOR
1062
BEGIN
END;
->
DECLARE
CONTINUE
HANDLER
FOR
SQLWARNING
->
BEGIN
->
update
t
set
s2
=
2;
->
END;
->
DECLARE
CONTINUE
HANDLER
FOR
1364
->
BEGIN
->
INSERT
INTO
t(s1,s2)
VALUES
(1,3);
->
END;
->
SET
@x
=
1;
->
INSERT
INTO
t(s1)
VALUES
(1);
->
SET
@x
=
2;
->
INSERT
INTO
t(s1)
VALUES
(1);
->
SET
@x
=
3;
->
END$$
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
DELIMITER
;
mysql>
call
handlerdemo();
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
select
*
from
t;
+----+----+
|
s1
|
s2
|
+----+----+
|
1
|
3
|
+----+----+
1
row
in
set
(0.00
sec)
遇到錯誤的時候插入的新記錄。
mysql>
select
@x;
+------+
|
@x
|
+------+
|
3
|
+------+
1
row
in
set
(0.00
sec)

『貳』 Sql, PostgreSQL。to_number和cast as numeric有何區別

ostgreSQL沒有定義round(double precision, integer)。至於原因, 噓聲解釋了一輪,需要一個精確的版本僅適用於numeric。
regress=> SELECT round( float8 '3.1415927', 2 );
ERROR: function round(double precision, integer) does not exist
regress=> \df *round*
List of functions
Schema | Name | Result data type | Argument data types | Type
------------+--------+------------------+---------------------+--------
pg_catalog | dround | double precision | double precision | normal
pg_catalog | round | double precision | double precision | normal
pg_catalog | round | numeric | numeric | normal
pg_catalog | round | numeric | numeric, integer | normal
(4 rows)
regress=> SELECT round( CAST(float8 '3.1415927' as numeric), 2);
round
-------
3.14
(1 row)
(在上面的,請注意float8僅僅是一個速記別名double precision。你可以看到,PostgreSQL的正在擴大它在輸出)。 你必須轉換值被舍入到numeric兩種表單的round。只是追加::numeric對於速記投,像round(val::numeric,2)。 如果你格式化顯示給穿上'round。使用to_char(參見:本手冊中的數據類型格式化函數),它可以讓你指定格式,並給你一個text這是不會受到任何的怪事你的客戶端端語言的結果可能跟numeric值。

『叄』 全國計算機等級考試證書的作用

全國計算機等級考試證書的作用

關於計算機等級考試,一共有兩種,一類是全國高等學校計算機水平考試(CCT),另一類是全國計算機等級考試(NCRE),關於這兩類考試你知道多少?下面是我收集的全國計算機等級考試證書的作用,希望大家喜歡!

全國計算機等級考試證書的作用 篇1

考試介紹:

1.什麼是CCT?

CCT全稱叫「全國高等學校計算機水平考試」,給人感覺像是國考,但實質是各省組織的考試,也叫省級計算機等級考試,基本每個學生都要參加考試,很多專科學校要求不過計算機一級0ffice考試是領不到畢業證的,本科院校一般只作學分要求,不與畢業證掛鉤。考試很簡單,由學校教務處統一組織和安排,考試時間都在期末考試期間。考試通過之後,領取的證書,蓋的是各省的公章。證書只能在省內通用,一般出了本省,就不被認可。

2.什麼是NCRE?

全國計算機等級考試(National Computer Rank Examination,簡稱NCRE),是經教育部批准,由教育部考試中心主辦,面向社會,用於考查應試人員計算機應用知識與技能的全國性計算機水平考試體系。

省考(CTT)與國考(NCRE)的區別

區分CTT與NCRE是很容易的,這里有幾個區分的技巧。

技巧一、看報考費。

報考費是38元的,是CTT省考;報考費是137元的,是NCRE國考。

技巧二、看考試時間。

每年1月份和6月份考試的是CTT省考,每年3月底和9月底考試的是NCRE國考。

技巧三、看證書蓋的證書專用章。

蓋省級單位公章的是CTT省考,蓋國家教育部證書專用章的是NCRE國考。

技巧四、看證書含金量。

蓋的章決定了證書的含金量,含金量低的是CTT證書,含金量高的是NCRE證書。

技巧五、看考試難度。

考試題目簡單的一般是CTT省考,幾乎每個大學生都能通過一級0ffice考試。考試題目較難的一般是NCRE國考,特別是國二級及以上的考試,很多學生如果不做好備考工作,幾乎是難以考過的。

關於全國計算機等級考試,你需要知道這些!

舉辦NCRE的目的

計算機技術的應用在我國各個領域發展迅速,為了適應知識經濟和信息社會發展的需要,操作和應用計算機已成為人們必須掌握的一種基本技能。

許多單位、部門已把掌握一定的計算機知識和應用技能作為人員聘用、職務晉升、職稱評定、上崗資格的重要依據之一。鑒於社會的客觀需求,經原國家教委批准,原國家教委考試中心於1994年面向社會推出了NCRE,其目的在於以考促學,向社會推廣和普及計算機知識,也為用人部門錄用和考核工作人員時提供一個統一、客觀、公正的標准。

NCRE由什麼機構組織實施

教育部考試中心負責實施考試,制定有關規章制度,編寫考試大綱及相應的輔導材料,命制試卷、答案及評分參考,進行成績認定,頒發合格證書,研製考試必須的計算機軟體,開展考試研究和宣傳、評價等。

NCRE等級和科目如何構成

一級:操作技能級。考核計算機基礎知識及計算機基本操作能力,包括Office辦公軟體、圖形圖像軟體。

二級:程序設計/辦公軟體高級應用級。考核內容包括計算機語言與基礎程序設計能力,要求參試者掌握一門計算機語言,可選類別有高級語言程序設計類、資料庫程 序設計類、WEB程序設計類等;二級還包括辦公軟體高級應用能力,要求參試者具有計算機應用知識及MS Office辦公軟體的高級應用能力,能夠在實際辦公環境中開展具體應用。

三級:工程師預備級。三級證書面向已持有二級相關證書的考生,考核面向應用、面向職業的崗位專業技能。

四級:工程師級。四級證書面向已持有三級相關證書的考生,考核計算機專業課程,是面向應用、面向職業的工程師崗位證書。

全國計算機等級考試證書的作用 篇2

一、全國計算機軟體專業技術資格和水平考試(人事部和信息產業部)

從1990年2月份起,國家人事部將這項考試作為計算機應用軟體人員專業技術任職資格的憑證,在全國首次實行以考代評。國家人事部和信息產業部計算機軟體人員考試中心對計算機的應用軟體人員分初級程序員級、程序員級、高級程序員級和系統分析員四個級別實行全國統一考試。

報名條件:資格考試的參加者需要有一定的資歷或學歷條件,報考時需要有本單位認可;水平考試參加者不限資力和學歷。證書獲得:由國家人事部和信息產業部頒發專業技術技術資格證書。水平考試合格者由信息產業部頒發專業技術水平證書。以上兩種證書全國有效。

二、全國計算機等級考試(教育部考試中心)

全國計算機等級考試是國家教委從1994年開始向社會推出的、主要為非高等學校在校學生參加的、用於測試對計算機應用知識掌握程度和上機實際操作能力的考試。

考試分為一級、二級、三級和四級。考試通過者由國家教育部考試中心頒發合格證書。考點一般設在大學。此項考試通過率比軟體人員水平考試要高得多。

報名條件:年齡、職業、學歷不限,在職人員、待業人員均可,但一次只能報考一個等級;證書價值:證書全國通用,是持有人計算機應用能力的證明,也可供用人部門和考核工作人員時參考。

三、全國計算機及信息高新技術培訓考試(勞動和社會保障部職業技能鑒定中心)

勞動部1996年19號文件宣布在全國范圍開展計算機及信息高新技術考試。該活動由勞動部的國家職業技能鑒定中心組織實施。

該考試重在考核考生對計算機軟體的實際應用能力,旨在培養具有計算機操作能力的普通工作者。本項考試的另一個突出的特點是公開試題卷和標准答案。考試採用標准化的模塊考試結構,具體可分為:資料庫、速記、辦公應用、網路操作、多媒體應用技術、計算機財務管理、PC機組裝調試維修等。

計算機及信息高新技術考試分三個級別:初級、中級和高級。初級又稱為通用級,旨在考核應試者的實際操作能力;中級可稱為專家級,要求應用操作和理論知識並重,既有筆試又考實際操作;高級又稱為導師級,考生需要進行論文答辯。考試報名採取在社會上公開報名的方法,對成績合格者由勞動部職業技能鑒定中心發給相應的證書。

四、計算機應用水平測試(教育部考試中心)

在國家教委組織全國計算機等級考試的同時,很多省市也組織了相應的考試。比如北京市高等教育局組織的北京地區「普通高等學校非計算機專業學生計算機應用水平測試」,已成為北京地區在校大學生參加入數較多、影響較大的計算機證書考試。

幾年來,由於水平測試難度適中,且與教學聯系緊密,因此,很多高校把水平測試的成績作為學生期末或結業考試的成績。水平測試推動了各省市普通高校非計算機專業的計算機教育,促進了各校計算機課程的教學改革,在一定程度上規范了各專業的計算機課程和教學內容。

五、國外著名的`計算機公司組織的計算機證書考試

目前,除了國內政府機構組織的考試外,一些國外著名的計算機公司組織的計算機證書考試在社會上也有一定的影響力和吸引力。比較知名的有: Novell公司組織的Novell授權工程師證書(CNE)考試、微軟公司組織的微軟專家認證(MCP)考試和Oracle大學證書等。此類考試之所以對人們有如此大的吸引力是由於這些公司在計算機行業有著舉足輕重的地位。如:Microsoft公司是世界上第一大軟體公司、Novell公司為全球最大的網路軟體公司。人們一旦獲得了這些公司的證書,其水平和能力也就相當於獲得了全球計算機界的認可。

縱觀計算機證書考試十幾年來在中國的發展,它打破了原有的單一學歷文憑的證書考試模式,對推動我國計算機事業的發展發揮了重要的作用。與學歷文憑的證書不同,職業證書考試更多地反映了勞動者從事某種職業的實際能力水平。因此,大力推行計算機證書考試具有十分重要的意義。

全國計算機等級考試證書的作用 篇3

一級:

證書表明持有人具有計算機的基礎知識和初步應用能力,掌握文字、電子表格和演示文稿等辦公自動化軟體(MS Office、WPS Office)的使用及網際網路(Internet)應用的基本技能,具備從事機關、企事業單位文秘和辦公信息計算機化工作的能力。

二級:

證書表明持有人具有計算機基礎知識和基本應用能力,能夠使用計算機高級語言編寫程序和調試程序,可以從事計算機程序的編制工作、初級計算機教學培訓工作以及計算機企業的業務和營銷工作。

三級:

「PC 技術」證書,表明持有人具有計算機應用的基礎知識,掌握Pentium微處理器及PC計算機的工作原理,熟悉PC機常用外部設備的功能與結構,了解WINDOWS操作系統的基本原理,能使用匯編語言進行程序設計,具備從事機關、企事業單位PC機使用、管理、維護、和應用開發的能力。三級「信息管理技術」證書,表明持有人具有計算機應用的基礎知識,掌握軟體工程、資料庫的基本原理和方法,熟悉計算機信息系統項目的開發方法和技術,具備從事管理信息系統項目和辦公自動化系統項目開發和維護的基本能力。三級「資料庫技術」證書,表明持有人具有計算機應用的基礎知識,掌握數據結構、操作系統的基本原理和技術,和資料庫應用系統項目開發的方法,具備從事資料庫應用系統項目開發和維護的基本能力。三級「網路技術」證書,表明持有人具有計算機網路通信的基礎知識,熟悉區域網、廣域網的原理以及安全維護方法,掌握以及開展信息網路化的能力。

四級:

「網路工程師」證書表明持有人具有網路系統規劃、設計的基本能力,掌握中小型網路系統組建、設備配置調試的基本技術,掌握中小型網路系統現場維護與管理的基本技術,可以從事計算機網路規劃、設計、組建於管理的相關工作。四級「資料庫工程師」證書表明持有人掌握資料庫系統的基本理論和技術,能夠使用SQL語言實現資料庫的建立、維護、管理,具備利用工具軟體開發基本資料庫應用系統的能力,能夠勝任中小型資料庫的維護、管理和應用開發。四級「軟體測試工程師」證書表明持有人具有軟體工程和軟體質量保證的基礎知識,掌握軟體測試的基本理論、方法和技術,理解軟體測試的規范和標准,熟悉軟體測試過程;具備制定軟體測試計劃和大綱、設計測試用例、選擇和運用測試工具、執行軟體測試、分析和評估測試結果以及參與軟體測試過程管理的能力,滿足軟體測試崗位的要求。

;

『肆』 mysql存儲過程怎麼獲取異常信息

DECLARE handler_type HANDLER FOR condition_value[,...] sp_statement
其中,
handler_type的取值范圍:CONTINUE | EXIT | UNDO
condition_value的取值范圍:SQLSTATE [VALUE] sqlstate_value | condition_name | SQLWARNING | NOT FOUND | SQLEXCEPTION | mysql_error_code
這個語句指定每個可以處理一個或多個條件的處理程序。如果產生一個或多個條件,指定的語句被執行。 對一個CONTINUE處理程序,當前子程序的執行在執行處理程序語句之後繼續。對於EXIT處理程序,當前BEGIN...END復合語句的執行被終止。UNDO 處理程序類型語句還不被支持。

· SQLWARNING是對所有以01開頭的SQLSTATE代碼的速記。

· NOT FOUND是對所有以02開頭的SQLSTATE代碼的速記。

· SQLEXCEPTION是對所有沒有被SQLWARNING或NOT FOUND捕獲的SQLSTATE代碼的速記。

註:除了SQLSTATE值,MySQL錯誤代碼也不被支持。

例:
delimiter $$

CREATE TABLE `_t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`val1` varchar(20) DEFAULT NULL,
`val2` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=latin1$$

DELIMITER $$

CREATE DEFINER=`abandonship`@`%` PROCEDURE `P_TestException`()
BEGIN
declare _var,_err int default 0;