Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

làm cách nào để sử dụng một biến trong câu lệnh tạo cơ sở dữ liệu

Bạn chỉ cần sử dụng các câu lệnh đã chuẩn bị sẵn, đây là mã làm việc:

DELIMITER //

drop procedure if exists create_db //

create procedure create_db(name TEXT)
BEGIN
  DECLARE temp TEXT;
  DECLARE user TEXT;
  SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = name INTO temp;
  if temp = name then
  SIGNAL SQLSTATE '45002' SET MESSAGE_TEXT = 'This database already exist';
    else
    SELECT USER() INTO user;

    SET @s = CONCAT('CREATE DATABASE ', name);
    PREPARE stmt_create FROM @s;
    EXECUTE stmt_create;
    DEALLOCATE PREPARE stmt_create;

    SET @s = CONCAT('GRANT ALL PRIVILEGES ON ', name, '.* TO ', user, ' WITH GRANT OPTION');
    PREPARE stmt_grant FROM @s;
    EXECUTE stmt_grant;
    DEALLOCATE PREPARE stmt_grant;

  END IF;
END //

DELIMITER ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python SQLAlchemy - Máy chủ MySQL đã biến mất

  2. PHP không hiển thị kết quả từ truy vấn MYSQL

  3. Cách chèn một chuỗi vào một chuỗi khác trong MySQL bằng cách sử dụng INSERT ()

  4. mysql - trả về cột đầu tiên một lần và tất cả dữ liệu cột tương ứng

  5. Ràng buộc khóa ngoại trong khi kết xuất dữ liệu