डिफ़ॉल्ट रूप से, SQL प्लस '&' को एक विशेष वर्ण के रूप में मानता है जो एक प्रतिस्थापन स्ट्रिंग शुरू करता है। अन्य कारणों से '&' को शामिल करने वाली स्क्रिप्ट चलाते समय यह समस्याएँ पैदा कर सकता है:
SQL> insert into customers (customer_name) values ('Marks & Spencers Ltd');
Enter value for spencers:
old 1: insert into customers (customer_name) values ('Marks & Spencers Ltd')
new 1: insert into customers (customer_name) values ('Marks Ltd')
1 row created.
SQL> select customer_name from customers;
CUSTOMER_NAME
------------------------------
Marks Ltd
यदि आप जानते हैं कि आपकी स्क्रिप्ट में '&' वर्णों वाला डेटा शामिल है (या इसमें शामिल हो सकता है), और आप उपरोक्त के रूप में प्रतिस्थापन व्यवहार नहीं चाहते हैं, तो set define off
का उपयोग करें स्क्रिप्ट चलाते समय व्यवहार को बंद करने के लिए:
SQL> set define off
SQL> insert into customers (customer_name) values ('Marks & Spencers Ltd');
1 row created.
SQL> select customer_name from customers;
CUSTOMER_NAME
------------------------------
Marks & Spencers Ltd
आप set define on
जोड़ना चाह सकते हैं डिफ़ॉल्ट व्यवहार को पुनर्स्थापित करने के लिए स्क्रिप्ट के अंत में।