কম্পিউটার

মাইএসকিউএল কি সঞ্চিত পদ্ধতি তৈরি করার সময় পরিবেশ সংরক্ষণ করে?


প্রকৃতপক্ষে, সঞ্চিত পদ্ধতিটি তৈরি হওয়ার সময় MySQL পরিবেশ সংরক্ষণ করে। আমরা যে উদাহরণে স্ট্রিং সংযুক্ত করার জন্য দুটি বার ব্যবহার করছি তা অনুসরণ করার সাহায্যে এটি বোঝা যায়। এসকিউএল মোড ansi যখন এটি শুধুমাত্র আইনি. কিন্তু যদি আমরা এসকিউএল মোডকে নন-অ্যানসি-তে পরিবর্তন করি, তবে পদ্ধতিটি এখনও কাজ করে যেন আসল সেটিং এখনও সত্য।

উদাহরণ

mysql> Set sql_mode = 'ansi'//
Query OK, 0 rows affected, 1 warning (0.14 sec)

mysql> Create Procedure Con_string()
    -> SELECT 'a'||'b'//
Query OK, 0 rows affected (0.12 sec)
mysql> Call Con_string ();
+----------+
| 'a'||'b' |
+----------+
| ab       |
+----------+
1 row in set (0.05 sec)

Query OK, 0 rows affected (0.05 sec)

mysql> Set sql_mode = '';
Query OK, 0 rows affected (0.00 sec)

mysql> Call Con_string();
+----------+
| 'a'||'b' |
+----------+
| ab       |
+----------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)

উপরের ফলাফল সেটটি দেখায় যে এসকিউএল মোডটি নন-অ্যানসিতে পরিবর্তন করার পরেও এখনও পদ্ধতিটি Con_string() একই ফলাফল তৈরি করছে যেন SQL মোড এখনও ansi থাকে। কিন্তু নতুন পদ্ধতি দুটি বার গ্রহণ করবে না কারণ আমরা এসকিউএল মোডকে নন-অ্যানসিতে পরিবর্তন করেছি।

mysql> create procedure Con_string1()
    -> Select 'a'||'b'//
Query OK, 0 rows affected (0.02 sec)

mysql> Call Con_string1()//
+----------+
| 'a'||'b' |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)

Query OK, 0 rows affected, 2 warnings (0.00 sec)

  1. মাইএসকিউএল সঞ্চিত পদ্ধতিটি পুরো টেবিলটি আনবে না?

  2. মাইএসকিউএল সংরক্ষিত পদ্ধতিতে "@" প্রতীকের ব্যবহার কী?

  3. একটি MySQL সঞ্চিত পদ্ধতিতে শর্ত সেট করুন

  4. *.* অনুদান কি MySQL-এ অনুদানের পরে তৈরি ডাটাবেসগুলিতে প্রযোজ্য?