Rumah >pangkalan data >tutorial mysql >Adakah MySQL mengekalkan persekitaran di mana prosedur tersimpan dicipta?

Adakah MySQL mengekalkan persekitaran di mana prosedur tersimpan dicipta?

WBOY
WBOYke hadapan
2023-09-11 11:49:02765semak imbas

MySQL 是否保留存储过程创建时的环境?

Malah, MySQL mengekalkan persekitaran apabila prosedur tersimpan dibuat. Ini boleh difahami melalui contoh berikut di mana kita menggunakan dua bar untuk menggabungkan rentetan. Ini hanya sah apabila mod SQL adalah ansi. Walau bagaimanapun, jika kita menukar mod SQL kepada bukan ansi, proses itu masih berfungsi seolah-olah tetapan asal masih benar.

Contoh

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)

Hasil yang ditetapkan di atas menunjukkan bahawa walaupun selepas menukar mod SQL kepada bukan ansi, prosedur Con_string() masih menghasilkan keputusan yang sama seolah-olah mod SQL masih ansi. Tetapi program baru tidak akan menerima kedua-dua bar kerana kami telah menukar mod SQL kepada bukan ansi.

rreeee

Atas ialah kandungan terperinci Adakah MySQL mengekalkan persekitaran di mana prosedur tersimpan dicipta?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam