Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं डेटाबेस स्टेटमेंट बनाने में एक वेरिएबल का उपयोग कैसे करूं?

आपको केवल तैयार कथनों का उपयोग करने की आवश्यकता है, यहाँ कार्य कोड है:

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. MySQL पिवट टेबल - कॉलम से पंक्तियाँ। सवाल

  2. तालिका 'mysql.user' मौजूद नहीं है:त्रुटि

  3. हाइबरनेट - अद्वितीय कॉलम बाधा को अनदेखा किया जा रहा है

  4. cPanel में MySQL डेटाबेस कैसे बनाएं

  5. MySQL 8.0.11 त्रुटि caching_sha2_password से कनेक्ट होती है, निर्दिष्ट मॉड्यूल नहीं मिल सका