- 浏览: 2692838 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
80后的童年2:
深入浅出MongoDB应用实战开发网盘地址:https://p ...
MongoDB入门教程 -
shliujing:
楼主在不是精通java和php的前提下,请不要妄下结论。
PHP、CakePHP哪凉快哪呆着去 -
安静听歌:
希望可以一给一点点注释
MySQL存储过程之代码块、条件控制、迭代 -
qq287767957:
PHP是全宇宙最强的语言!
PHP、CakePHP哪凉快哪呆着去 -
rryymmoK:
深入浅出MongoDB应用实战开发百度网盘下载:链接:http ...
MongoDB入门教程
1,简介
MySQL支持HANDLER来处理错误:
Duplicate entry Handler
Last Row Handler
2,Handlers
语法:
Handlers类型:
Handlers条件:
优先级:
MySQL Error code > SQLSTATE code > 命名条件
使用SQLSTATE还是MySQL Error Code?
1,SALSTATE是标准,貌似会更portable,但是实际上MySQL、DB2、Oracle等等的存储程序语法大相径庭,所以portable的优势不存在
2,MySQL error code与SQLSTATE并不是一一对应的,比如很多MySQL error code都映射到同一SQLSTATE code(HY000)
当MySQL客户端碰到错误时,它会报告MySQL error code和相关的SQLSATE code:
上面Error code是1305,SQLSTATE code是42000
常见的MySQL error code和SQLSTATE code:
可以在http://dev.mysql.com/doc/的MySQL reference manual的附录B找到完整的最新的error codes
3,命名条件
MySQL error code或者SQLSTATE code的可读性太差,所以引入了命名条件:
使用:
4,SQL:2003的特性
可以使用SIGNAL语句来触发错误
MySQL5.2才支持 SQL:2003
5,Error Handling的例子
MySQL支持HANDLER来处理错误:
Duplicate entry Handler
CREATE PROCEDURE sp_add_location (in_location VARCHAR(30), in_address1 VARCHAR(30), in_address2 VARCHAR(30), zipcode VARCHAR(10), OUT out_status VARCHAR(30)) BEGIN DECLARE CONTINUE HANDLER FOR 1062 SET out_status='Duplicate Entry'; SET out_status='OK'; INSERT INTO locations (location,address1,address2,zipcode) VALUES (in_location,in_address1,in_address2,zipcode); END;
Last Row Handler
CREATE PROCEDURE sp_not_found() READS SQL DATA BEGIN DECLARE l_last_row INT DEFAULT 0; DECLARE l_dept_id INT: DECLARE c_dept CURSOR FOR SELECT department_id FROM departments; DECLARE CONTINUE HANDLER FOR NOT FOUND SET l_last_row=1; OPEN c_dept; dept_cursor: LOOP FETCH c_dept INTO l_dept_id; IF (l_last_row=1) THEN LEAVE dept_cursor; END IF; END LOOP dept_cursor; CLOSE c_dept; END;
2,Handlers
语法:
DECLARE {CONTINUE | EXIT} HANDLER FOR {SQLSTATE sqlstate_code | MySQL error code | condition_name} handler_actions
Handlers类型:
1, EXIT: 发生错误时退出当前代码块(可能是子代码块或者main代码块) 2, CONTINUE: 发送错误时继续执行后续代码
Handlers条件:
1, MySQL error code,如1062 2, ANSI标准SQLSTATE code,如23000 3, 命名条件,如NOT FOUND
优先级:
MySQL Error code > SQLSTATE code > 命名条件
使用SQLSTATE还是MySQL Error Code?
1,SALSTATE是标准,貌似会更portable,但是实际上MySQL、DB2、Oracle等等的存储程序语法大相径庭,所以portable的优势不存在
2,MySQL error code与SQLSTATE并不是一一对应的,比如很多MySQL error code都映射到同一SQLSTATE code(HY000)
当MySQL客户端碰到错误时,它会报告MySQL error code和相关的SQLSATE code:
mysql > CALL nosuch_sp(); ERROR 1305 (42000): PROCEDURE sqltune.nosuch_sp does not exist
上面Error code是1305,SQLSTATE code是42000
常见的MySQL error code和SQLSTATE code:
MySQL error code SQLSTATE code Error message 1011 HY000 Error on delete of '%s' (errno: %d) 1021 HY000 Disk full (%s); waiting for someone to free some space... 1022 23000 Can't write; duplicate key in table '%s' 1027 HY000 '%s' is locked against change 1036 HY000 Table '%s' is read only 1048 23000 Column '%s' cannot be null 1062 23000 Duplicate entry '%s' for key %d 1099 HY000 Table '%s' was locked with a READ lock and can't be updated 1100 HY000 Table '%s' was not locked with LOCK TABLES 1104 42000 The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay 1106 42000 Incorrect parameters to procedure '%s' 1114 HY000 The table '%s' is full 1150 HY000 Delayed insert thread couldn't get requested lock for table %s 1165 HY000 INSERT DELAYED can't be used with table '%s' because it is locked with LOCK TABLES 1242 21000 Subquery returns more than 1 row 1263 22004 Column set to default value; NULL supplied to NOT NULL column '%s' at row %ld 1264 22003 Out of range value adjusted for column '%s' at row %ld 1265 1000 Data truncated for column '%s' at row %ld 1312 0A000 SELECT in a stored program must have INTO 1317 70100 Query execution was interrupted 1319 42000 Undefined CONDITION: %s 1325 24000 Cursor is already open 1326 24000 Cursor is not open 1328 HY000 Incorrect number of FETCH variables 1329 2000 No data to FETCH 1336 42000 USE is not allowed in a stored program 1337 42000 Variable or condition declaration after cursor or handler declaration 1338 42000 Cursor declaration after handler declaration 1339 20000 Case not found for CASE statement 1348 HY000 Column '%s' is not updatable 1357 HY000 Can't drop a %s from within another stored routine 1358 HY000 GOTO is not allowed in a stored program handler 1362 HY000 Updating of %s row is not allowed in %s trigger 1363 HY000 There is no %s row in %s trigger
可以在http://dev.mysql.com/doc/的MySQL reference manual的附录B找到完整的最新的error codes
3,命名条件
MySQL error code或者SQLSTATE code的可读性太差,所以引入了命名条件:
DECLARE condition_name CONDITION FOR {SQLSTATE sqlstate_code | MySQL_error_code};
使用:
# original DECLARE CONTINUE HANDLER FOR 1216 MySQL_statements; # changed DECLARE foreign_key_error CONDITION FOR 1216; DECLARE CONTINUE HANDLER FOR foreign_key_error MySQL_statements;
4,SQL:2003的特性
可以使用SIGNAL语句来触发错误
SIGNAL SQLSTATE sqlstate_code|condition_name [SET MESSAGE_TEXT=string_or_variable];
MySQL5.2才支持 SQL:2003
5,Error Handling的例子
CREATE PROCEDURE sp_add_department (p_department_name VARCHAR(30), p_manager_surname VARCHAR(30), p_manager_firstname VARCHAR(30), p_location VARCHAR(30), OUT p_sqlcode INT, OUT p_status_message VARCHAR(100)) BEGIN /* START Declare Conditions */ DECLARE duplicate_key CONDITION FOR 1062; DECLARE foreign_key_violated CONDITION FOR 1216; /* END Declare COnditions */ /* START Declare variables and cursors */ DECLARE l_manager_id INT; DECLARE csr_mgr_id CURSOR FOR SELECT employee_id FROM employees WHERE surname=UPPER(p_manager_surname) AND firstname=UPPER(p_manager_firstname); /* END Declare variables and cursors */ /* START Declare Exception Handlers */ DECLARE CONTINUE HANDLER FOR duplicate_key BEGIN SET p_sqlcode=1052; SET p_status_message='Duplicate key error'; END; DECLARE CONTINUE HANDLER FOR foreign_key_violated BEGIN SET p_sqlcode=1216; SET p_status_message='Foreign key violated'; END; DECLARE CONTINUE HANDLER FOR NOT FOUND BEGIN SET p_sqlcode=1329; SET p_status_message='No record found'; END; /* END Declare Exception Handlers */ /* START Execution */ SET p_sqlcode=0; OPEN csr_mgr_id; FETCH csr_mgr_id INTO l_manager_id; IF p_sqlcode<>0 THEN /* Failed to get manager id */ SET p_status_message=CONCAT(p_status_message,' when fetching manager id'); ELSE /* Got manager id, we can try and insert */ INSERT INTO departments (department_name, manager_id, location) VALUES(UPPER(p_department_name), l_manager_id, UPPER(p_location)); IF p_sqlcode<>0 THEN /* Failed to insert new department */ SET p_status_message=CONCAT(p_status_message, ' when inserting new department'); END IF; END IF; CLOSE csr_mgr_id; /* END Execution */ END
发表评论
-
HPM Note5, Query Performance Optimization
2009-07-21 18:05 1500Slow Query Basics: Optimize Dat ... -
HPM Note4, Schema Optimization and Indexing
2009-07-16 18:04 1501Choosing Optimal Data Types Sma ... -
HPM Note3, Benchmarking and Profiling
2009-07-02 14:07 1515Note3, Finding Bottlenecks: Ben ... -
HPM Note2, MySQL Architecture
2009-06-30 17:13 1778MySQL's Logical Architecture Th ... -
HPM Note1,Book Organization
2009-06-23 09:49 1659How This Book Is Organization ... -
MySQL Architecture
2009-01-18 00:12 3120MySQL Core Modules: Server In ... -
MySQL优化笔记
2008-10-28 17:59 3504MySQL 5.1参考手册 :: 7. 优化 一、查询优化 ... -
MySQL里获取当前week、month、quarter的start_date/end_date
2008-10-21 14:14 7473当前week的第一天: select date_sub(cur ... -
mysql里找出一个表的主键被谁作为外键约束
2008-08-13 17:16 2199SELECT ke.referenced_table_n ... -
SQL性能调优:2.1 排序的一般性调优
2008-08-05 10:21 3583影响排序速度的原因(从大到小): 1,选择的行数 2,ORDE ... -
TCP-IP详解笔记1.5 RARP:逆地址解析协议
2008-07-25 14:05 2300from http://www.beyondrails.com ... -
SQL性能调优:1.3 其他语法调优
2008-07-25 13:38 1404from http://www.beyondrails.com ... -
SQL性能调优:1.2 特别语法调优
2008-07-24 12:15 2720from http://www.beyondrails.com ... -
SQL性能调优:1.1 一般性语法调优
2008-07-23 14:47 2551from http://www.beyondrails.com ... -
MySQL存储程序开发最佳实践
2008-05-28 13:56 1702MySQL存储程序开发最佳 ... -
MySQL join的文章
2008-05-28 13:00 1579MySQL的联结(Join)语法 -
MySQL索引系列文章
2008-05-28 12:51 1481MySQL索引使用 MySQL索引 MySQL 5.1参考手册 ... -
MySQL存储程序权限控制
2008-05-28 12:29 1420MySQL存储程序权限控制 MySQL5.0引入了一些管理存 ... -
MySQL的Stored Function和Trigger
2008-05-27 18:58 3150MySQL的Stored Function和Trigger ... -
MySQL内建Function
2008-05-22 17:25 6578MySQL内建Function 在MySQL存储程序(存储过 ...
相关推荐
内容概要:本文档详细介绍了基于 MATLAB 实现的 LSTM-AdaBoost 时间序列预测模型,涵盖项目背景、目标、挑战、特点、应用领域以及模型架构和代码示例。随着大数据和AI的发展,时间序列预测变得至关重要。传统方法如 ARIMA 在复杂非线性序列中表现欠佳,因此引入了 LSTM 来捕捉长期依赖性。但 LSTM 存在易陷局部最优、对噪声鲁棒性差的问题,故加入 AdaBoost 提高模型准确性和鲁棒性。两者结合能更好应对非线性和长期依赖的数据,提供更稳定的预测。项目还展示了如何在 MATLAB 中具体实现模型的各个环节。 适用人群:对时间序列预测感兴趣的开发者、研究人员及学生,特别是有一定 MATLAB 编程经验和熟悉深度学习或机器学习基础知识的人群。 使用场景及目标:①适用于金融市场价格预测、气象预报、工业生产故障检测等多种需要时间序列分析的场合;②帮助使用者理解并掌握将LSTM与AdaBoost结合的实现细节及其在提高预测精度和抗噪方面的优势。 其他说明:尽管该模型有诸多优点,但仍存在训练时间长、计算成本高等挑战。文中提及通过优化数据预处理、调整超参数等方式改进性能。同时给出了完整的MATLAB代码实现,便于学习与复现。
palkert_3ck_01_0918
pepeljugoski_01_1106
tatah_01_1107
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
题目:基于单片机的步进电机控制系统 模块: 主控:AT89C52RC 步进电机(ULN2003驱动) 按键(3个) 蓝牙(虚拟终端模拟) 功能: 1、可以通过蓝牙远程控制步进电机转动 2、可以通过按键实现手动与自动控制模式切换。 3、自动模式下,步进电机正转一圈,反转一圈,循环 4、手动模式下可以通过按键控制步进电机转动(顺时针和逆时针)
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
内容概要:本文详细介绍了建设智慧校园平台所需的六个关键步骤。首先通过需求分析深入了解并确定校方和使用者的具体需求;其次是规划设计阶段,依据所得需求制定全面的建设方案。再者是对现有系统的整合——系统集成,确保新旧平台之间的互操作性和数据一致性。培训支持帮助全校教职工和学生快速熟悉新平台,提高效率。实施试点确保系统逐步稳定部署。最后,强调持续改进的重要性,以适应技术和环境变化。通过这一系列有序的工作,可以使智慧校园建设更为科学高效,减少失败风险。 适用人群:教育领域的决策者和技术人员,包括负责信息化建设和运维的团队成员。 使用场景及目标:用于指导高校和其他各级各类学校规划和发展自身的数字校园生态链;目的是建立更加便捷高效的现代化管理模式和服务机制。 其他说明:智慧校园不仅仅是简单的IT设施升级或软件安装,它涉及到全校范围内的流程再造和创新改革。
该文档系统梳理了人工智能技术在商业场景中的落地路径,聚焦内容生产、电商运营、智能客服、数据分析等12个高潜力领域,提炼出100个可操作性变现模型。内容涵盖AI工具开发、API服务收费、垂直场景解决方案、数据增值服务等多元商业模式,每个思路均配备应用场景拆解、技术实现路径及收益测算框架。重点呈现低代码工具应用、现有平台流量复用、细分领域自动化改造三类轻量化启动方案,为创业者提供从技术选型到盈利闭环的全流程参考。
palkert_3ck_02_0719
克鲁格曼专业化指数,最初是由Krugman于1991年提出,用于反映地区间产业结构的差异,也被用来衡量两个地区间的专业化水平,因而又称地区间专业化指数。该指数的计算公式及其含义可以因应用背景和具体需求的不同而有所调整,但核心都是衡量地区间的产业结构差异或专业化程度。 指标 年份、城市、第一产业人数(first_industry1)、第二产业人数(second_industry1)、第三产业人数(third_industry1)、专业化指数(ksi)。
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
精品推荐,通信技术LTE干货资料合集,19份。 LTE PCI网络规划工具.xlsx LTE-S1切换占比专题优化分析报告.docx LTE_TDD问题定位指导书-吞吐量篇.docx LTE三大常见指标优化指导书.xlsx LTE互操作邻区配置核查原则.docx LTE信令流程详解指导书.docx LTE切换问题定位指导一(定位思路和问题现象).docx LTE劣化小区优化指导手册.docx LTE容量优化高负荷小区优化指导书.docx LTE小区搜索过程学习.docx LTE小区级与邻区级切换参数说明.docx LTE差小区处理思路和步骤.docx LTE干扰日常分析介绍.docx LTE异频同频切换.docx LTE弱覆盖问题分析与优化.docx LTE网优电话面试问题-应答技巧.docx LTE网络切换优化.docx LTE高负荷小区容量优化指导书.docx LTE高铁优化之多频组网优化提升“用户感知,网络价值”.docx
matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
pepeljugoski_01_0508
szczepanek_01_0308
oif2007.384.01_IEEE
stone_3ck_01_0119
oganessyan_01_1107