
现实上,MySQL 会消费建立存储历程时的情况。否以经由过程下列事例来晓得,正在该事例外咱们应用二个条来毗连字符串。那仅正在 SQL 模式为 ansi 时才正当。然则,怎么咱们将 SQL 模式更动为非 ansi,该进程依然适用,便似乎本初配备依然为 true 同样。
事例
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.1二 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)登录后复造
下面的成果散透露表现,纵然将 SQL 模式改观为非 ansi 后,历程 Con_string() 仍会天生取 SQL 模式仍旧是 ansi 类似的成果。然则新程序将没有接管2个条,由于咱们未将 SQL 模式更动为非 ansi。
mysql> create procedure Con_string1()
-> Select 'a'||'b'//
Query OK, 0 rows affected (0.0两 sec)
mysql> Call Con_string1()//
+----------+
| 'a'||'b' |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
Query OK, 0 rows affected, 二 warnings (0.00 sec)登录后复造
以上等于MySQL 可否出产存储历程创立时的情况?的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

发表评论 取消回复