मेरी file.sql में कोड नीचे है

use Database_name;
CREATE PROCEDURE sp_Create_Calendar_Date()
BEGIN

INSERT INTO CALENDAR_DATE
select date_format(selected_date,'%Y%m%d') CALENDAR_DATE,
    week(SELECTED_DATE) WEEK_NUMBER,
    substr(monthname(SELECTED_DATE),1,3) MONTH_NAME,
    month(SELECTED_DATE) MONTH_NUMBER,
    year(SELECTED_DATE) YEAR_NAME,
    dayname(SELECTED_DATE) DAY_NAME,
    concat( 'Q',quarter(SELECTED_DATE)) QUARTER_LABEL,
    extract(year_month from selected_date) MONTH_SPLIT_NAME,
    concat( year(SELECTED_DATE),concat('Q',timestampdiff(month, @FiscalYearStartDate, @today) div 3 + 1)) FISCAL_QUARTER_LABEL,
    dayofyear(selected_date) DAY_OF_YEAR,
     'N' ORGANAIZATION_HOLIDAY
from 
(select adddate('1970-01-01',t4*10000 + t3*1000 + t2*100 + t1*10 + t0) selected_date from
 (select 0 t0 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
 (select 0 t1 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
 (select 0 t2 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
 (select 0 t3 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
 (select 0 t4 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) v
where selected_date between MAKEDATE(year(DATE_ADD(date_format(sysdate(),'%Y%m%d'),interval -2 YEAR)),1) and 
        LAST_DAY(DATE_ADD(DATE_ADD(date_format(sysdate(),'%Y%m%d'),interval 5 YEAR), INTERVAL 12-MONTH(DATE_ADD(date_format(sysdate(),'%Y%m%d'),interval 5 YEAR)) MONTH));           
END

मेरी पोटीन में मैं इस कोड की तरह कॉल कर रहा हूँ

mysql -u root -p <Database Name> < file.sql

जब मैं इसे निष्पादित करता हूं तो मुझे नीचे की तरह त्रुटि मिल रही है: पंक्ति 2 पर त्रुटि 1064 (42000): आपको अपने SQL सिंटैक्स में त्रुटि है; लाइन 24 पर '' के पास'' का उपयोग करने के लिए सही सिंटैक्स के लिए आपके MySQL सर्वर संस्करण से संबंधित मैनुअल की जांच करें

मैं इस पुट्टी टाइप कोडिंग के लिए नया हूँ.., यहाँ क्या समस्या है ??

-1
Tpk43 5 सितंबर 2018, 14:11
'पोटी' टैग हटा दिया क्योंकि यह सोचने का कोई कारण नहीं है कि यह त्रुटि पुट्टी से संबंधित है।
 – 
Bill Karwin
5 सितंबर 2018, 20:12

2 जवाब

यह एक पुट्टी मुद्दा नहीं है, यह एक MySQL त्रुटि है। आपके SQL सिंटैक्स में कुछ गड़बड़ है। आपकी क्वेरी बहुत जटिल है इसलिए आप इसे सरल बनाना चाहते हैं, व्यक्तिगत रूप से अपनी उप-प्रश्नों का परीक्षण कर सकते हैं, और एक ऑनलाइन सत्यापनकर्ता का उपयोग करके इसे सत्यापित कर सकते हैं https://www.google.com/search?q=mysql+validator&oq=mysql+validator

समस्या निवारण के लिए आपको पुट्टी में एक इंटरैक्टिव SQL सत्र खोलना चाहिए और एक बार में 1 SQL कथन दर्ज करना चाहिए जब तक कि आप गलत लाइन का पता नहीं लगा लेते। इस बिंदु पर आपको समस्या का निवारण करने की आवश्यकता होगी कि कौन सा भाग गलत SQL है।

कदम इस के समान होंगे:

अपने mysql होस्ट में ssh करने के लिए पुट्टी का उपयोग करें। एक बार होस्ट के टर्मिनल में कमांड दर्ज करें:

$ mysql -u root -p <Database Name>
$ mysql> use Database_name;
$ mysql> <enter more SQL>
2
d g 5 सितंबर 2018, 14:30

मैंने इसे अपनी फ़ाइल के अंदर सिंटैक्स का उपयोग करके हल किया। sql फ़ाइल

DROP PROCEDURE IF EXISTS `sp_Create_Calendar_Date`;
DELIMITER //
USE `DATABASE_NAME`

CREATE PROCEDURE`sp_Create_Calendar_Date` ()
BEGIN

INSERT INTO CALENDAR_DATE
SELECT..... ; /* Query as it's like in my question */

END
//
DELIMITER ;

मेरे सर्वर में SQL फ़ाइल उसी स्थान पर थी जहाँ मैं क्रियान्वित कर रहा हूँ इसलिए मैंने अपनी SQL फ़ाइल को इस तरह कहा

mysql -u root -p <DATABASE_NAME> < file.sql 

मेरे डेटाबेस में बनाई गई स्टोर प्रक्रिया। मुझे पता है कि यह पुटी मुद्दा नहीं है

0
Zoe 6 सितंबर 2018, 22:06