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

SQL त्रुटि:# 1064 mysql का उपयोग करके plsql में फ़ंक्शन बनाते समय

इसके लिए आपको किसी फ़ंक्शन की आवश्यकता नहीं है, आपको संग्रहीत प्रक्रिया की आवश्यकता है।

DELIMITER $$
CREATE PROCEDURE proc_name(IN col_number1 INT, IN col_number2 INT)
BEGIN
SET @col1 := CONCAT('CHR_MORNING', col_number1);
SET @col2 := CONCAT('CHR_EVENING', col_number2);

SET @sql := CONCAT('
SELECT 
CASE WHEN ', @col1, '="SUN" && ', @col2, '="SUN" THEN "S"
WHEN (', @col1, '="HOL" && ', @col2, '="HOL") THEN "H"
WHEN (', @col1, '="LEA" && ', @col2, '="LEA") THEN "L"
WHEN (', @col1, '="ABS" && ', @col2, '="ABS") THEN "-"
WHEN (', @col1, '="NA" && ', @col2, '="NA") THEN "-"
ELSE "8"
END AS whatever_you_want_to_name_your_column
FROM att_t_register WHERE CHR_MONTH = "jan" AND INT_YEAR = 2014;
');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

END $$
DELIMITER ;

फिर आप इसे

. के साथ निष्पादित करेंगे
CALL proc_name(1, 1);



  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 स्वचालित रूपांतरण

  3. PHP फ़िल्टरिंग के साथ SQL इंजेक्शन

  4. उपयोगकर्ता द्वारा दर्ज किए गए टेक्स्ट को कुशलतापूर्वक साफ करें

  5. निश्चित बिंदु तक योग - MySql