Mysql储存过程级建表结构

xiaoxiao2021-02-28  141

--存储过程

DELIMITER // --定义反斜杠为结束符,相当于java的;

DROP PROCEDURE IF EXISTS schema_change// --判断是否有这个存储过程,有的话删除

CREATE PROCEDURE schema_change() --创建新的储存过程

  BEGIN --开始创建

    DECLARE CurrentDatabase VARCHAR (100); --定义一个变量

    SELECT DATABASE() INTO CurrentDatabase; --将数据库赋给定义的变量

    IF NOT EXISTS --判断case_dist表中是否有display这个字段     (SELECT * FROM information_schema.columns WHERE table_schema = CurrentDatabase AND table_name = 'case_dist' AND column_name = 'display')     THEN  --给case_dist表添加display这一列 并注释         ALTER TABLE case_dist ADD COLUMN display BIT NOT NULL DEFAULT 1 COMMENT '検索画面で表示するフラグ';     END IF;

END//  --以反斜杠结束创建储存过程

DELIMITER ; --定义;为结束符 CALL schema_change(); --调用这个存储过程

--创建表

DROP TABLE IF EXISTS log_mes; CREATE TABLE log_mes (  id int NOT NULL AUTO_INCREMENT COMMENT 'ログ情報ID',  staff_id varchar(50) NOT NULL COMMENT '社員番号',  company_id varchar(50) NOT NULL COMMENT '会社コード',  log_basic_id int(11) NOT NULL COMMENT 'ログ基本情報ID',  log_info text NOT NULL COMMENT 'ログ情報名',  insert_time datetime NOT NULL COMMENT 'ログ情報インポートの時間',  PRIMARY KEY (id) ) COMMENT 'ログ情報';

--创建外键

ALTER TABLE log_mes     ADD FOREIGN KEY (log_basic_id)     REFERENCES log_basic (id);

   ON UPDATE RESTRICT --删除和修改时限制,不添加则删除修改无影响     ON DELETE RESTRICT

转载请注明原文地址: https://www.6miu.com/read-23612.html

最新回复(0)