mysql 함수function의 학습 기록

1689 단어 mysql
10 스토리지 프로세스 및 함수에 대한 학습이 매우 적은 블로그:
https://www.cnblogs.com/Honeycomb/p/10672659.html
11 이전 블로그 계속, 함수 부분
mysql> delimiter //
mysql> CREATE FUNCTION hello (s CHAR(20))
    -> RETURNS CHAR(50) --       
    -> RETURN CONCAT('Hello, ',s,'!');  --       
    -> //
Query OK, 0 rows affected (0.01 sec)

mysql> delimiter ;
mysql> select hello('a');
+------------+
| hello('a') |
+------------+
| Hello, a!  |
+------------+


mysql> select hello(id) from users;
+--------------+
| hello(id)    |
+--------------+
| Hello, 1!    |
| Hello, 3!    |

이상은 간단한 함수 사용으로 mysql에서 정의한 도구 클래스 방법과 같습니다
 
사용상의 차이점은 스토리지 프로세스나 함수 정의에 관계없이 다음과 같습니다.
1 규범을 보면 핵심 코드에begin을 붙여야 하는데...end
2 호출 중: call testproc();     select  test_func();
3 전참에 있어 저장 과정은 전참이 있을 수 있고 회참 함수가 있을 수 있기 때문에 반드시 회삼을 정의해야 한다. 이것도 그의 의미이다.
여기서도 알 수 있듯이 그들 둘의 가장 큰 차이는
저장 프로세스, 프로세스에 중점을 두고 그 과정에서 자신의 가치를 실현하다
함수: 어떤 모듈화된 방식을 통해 한 가지 일을 하는 데 중심을 두세요.
12 값을 설정하는 방법 정보:
  select  a,b into _a,_b from user where id=_id; -- 만약 한 데이터만 되돌아온다면, 이렇게 값을 부여하는 것은 ok이다
여러 개를 되돌려주면cursor 커서를 사용하여 순환을 해야 합니다.fetch... into vvv를 사용하십시오
13 루프 정보:
 1 repeat
2while 이것은 Repeat과 비슷합니다. 첫 번째 훑어보기만 하고 조건을 판단할지 말지 봅니다.
3 loop에는 label이 하나 있는데 leave는 순환을 뛰어넘고iterate는 다음 순환을 계속한다. 자바의break와continue를 비교한다.
4 declare에 대한 요구 사항은 다음과 같습니다.
Declare 문장은 보통 로컬 변수, 커서, 조건 또는handler Declare 문장은begin...end 문장에만 나타날 수 있고, 첫 번째 줄에 나타나야 하는 Declare 순서에도 요구가 있습니다. 보통 로컬 변수를 먼저 설명하고, 그 다음에 조건과handler를 설명합니다.
5 알람!!!변수를 정의할 때 실수하지 않도록 주의하십시오:
1 키워드 사용
2 매개 변수 이름이 필드 이름과 똑같이 정의되었습니다.

좋은 웹페이지 즐겨찾기