存储过程 某个表已存在异常

Posted tonggc1668

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储过程 某个表已存在异常相关的知识,希望对你有一定的参考价值。

CREATE DEFINER=`ggs`@`%` PROCEDURE `auto_create_salesman_location`()
BEGIN
DECLARE table_prefix VARCHAR(100);
DECLARE table_suffix BIGINT;
DECLARE table_name VARCHAR(100);
DECLARE sql_text VARCHAR(4000);
#异常捕获
DECLARE ER_TABLE_EXISTS_ERROR CONDITION for 1050;
DECLARE EXIT HANDLER FOR ER_TABLE_EXISTS_ERROR SELECT CONCAT(‘ERROR: ‘,table_name,‘已经存在‘);

SET table_prefix = ‘salesman_location‘;
SET table_suffix = DATE_FORMAT(DATE_ADD(curdate(), INTERVAL 1 DAY),‘%Y%m%d‘);
SET table_name = CONCAT(table_prefix,‘_‘,table_suffix);

set sql_text=CONCAT(
‘create table ‘,table_name,
‘(branch_code int(11) NOT NULL,
salesman_code int(11) NOT NULL,
telphone char(11) NOT NULL,
longitude varchar(20) DEFAULT NULL,
latitude varchar(20) DEFAULT NULL,
height double DEFAULT NULL,
location_create_time datetime DEFAULT NULL,
create_time datetime DEFAULT NULL,
KEY location_index (branch_code,salesman_code) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8‘
);
set @sql_pre=sql_text;
PREPARE sql_exec from @sql_pre;
EXECUTE sql_exec;
deallocate prepare sql_exec;
END

以上是关于存储过程 某个表已存在异常的主要内容,如果未能解决你的问题,请参考以下文章

九、存储过程中异常的处理

SQLServer异常捕获

SQLServer异常捕获(Try Catch)

sqlserver查找使用了某个字段的所有存储过程

对于除 ORA-00942 表不存在之外的所有错误,停止运行存储过程

第二次调用存储过程抛出ORA异常