mysql使用命令行執行存儲過程


編寫存儲過程sql

以給brand表添加phone字段為例:

DROP PROCEDURE  IF EXISTS UpdateColum;
CREATE PROCEDURE UpdateColum()
BEGIN

SELECT database() INTO @dbName;
	
	
SET @tablename = 'brand';
SET @column_name = 'phone';
SELECT 
	CONCAT(
		'select count(*) into @colName from information_schema.columns where table_name = ''',
		@tablename,
		''' and column_name = ''',
		@column_name,
		''' and table_schema=''', 
		@dbName,
		''';'
		) 
INTO 
	@ckstring;

PREPARE SQLStr1 FROM @ckstring;
EXECUTE SQLStr1;
DEALLOCATE PREPARE SQLStr1; 
 
IF @colName = 0 THEN 
    ALTER TABLE 
		brand 
	ADD 
		phone varchar(255) NOT NULL DEFAULT '';
END IF;

END;


CALL UpdateColum();
DROP PROCEDURE  IF EXISTS UpdateColum;

命令行方式執行存儲過程

執行以下命令:

    命令1: 選擇操作的數據庫
 user  dbname ;
命令2:修改行分割符

delimiter ;;

命令3:執行sql文件

source /root/xxx.sql

命令4:恢復行分割符

delimiter ;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM