当前位置:首页 » 编程语言 » 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;