>  기사  >  데이터 베이스  >  MySQL은 저장 프로시저가 생성되는 환경을 유지합니까?

MySQL은 저장 프로시저가 생성되는 환경을 유지합니까?

WBOY
WBOY앞으로
2023-09-11 11:49:02712검색

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

실제로 MySQL은 저장 프로시저가 생성되었을 때의 환경을 유지합니다. 이는 두 개의 막대를 사용하여 문자열을 연결하는 다음 예제를 통해 이해할 수 있습니다. 이는 SQL 모드가 ANSI인 경우에만 유효합니다. 그러나 SQL 모드를 non-ansi로 변경하면 프로세스는 원래 설정이 여전히 true인 것처럼 작동합니다.

Example

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)

위의 결과 집합은 SQL 모드를 non-ansi로 변경한 후에도 Con_string() 프로시저가 마치 SQL 모드가 여전히 ansi인 것처럼 동일한 결과를 생성한다는 것을 보여줍니다. 그러나 새 프로그램은 SQL 모드를 non-ansi로 변경했기 때문에 두 막대를 모두 허용하지 않습니다.

rreee

위 내용은 MySQL은 저장 프로시저가 생성되는 환경을 유지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제