Postgre메이저 토토 사이트 9.3.25 Tài liệu | ||||
---|---|---|---|---|
prev | Postgre메이저 토토 사이트 : 문서 : 9.3 : PL/PG메이저 토토 사이트 -메이저 토토 사이트 절차 언어 | Chương 40.PL/PG메이저 토토 사이트 - PostgreSQLNgôn ngữ thủ tục | Tiếp theo |
Các chức năng được viết bằngPL/PG메이저 토토 사이트được xác định cho máy chủ bằng cách thực thiTạo chức nănglệnh. Như vậy a lệnh thường trông giống như, giả sử,
110Postgre메이저 토토 사이트: Tài liệu: 9.3: Cấu trúc của PL/PG메이저 토토 사이트06Văn bản cơ thể chức năng' Ngôn ngữ plpg메이저 토토 사이트;
Cơ thể chức năng chỉ đơn giản là một chuỗi theo nghĩa đen cho đến nayTạo chức năngđược quan tâm. Nó thường là hữu ích khi sử dụng báo giá đô la (xemPhần 4.1.2.4) để viết cơ thể chức năng, thay vì bình thường Cú pháp trích dẫn đơn. Không có báo giá đô la, bất kỳ trích dẫn nào hoặc Bệnh chéo ngược trong cơ thể chức năng phải được thoát ra bằng cách nhân đôi chúng. Hầu như tất cả các ví dụ trong chương này đều sử dụng nghĩa đen được trích dẫn đô la cho cơ thể chức năng của họ.
PL/PG메이저 토토 사이트là một cấu trúc khối ngôn ngữ. Văn bản hoàn chỉnh của cơ thể hàm phải là11850_11857. Một khối được xác định là:
[ <<nhãn ] [khai báoKhai báo ] BẮT ĐẦUCâukết thúc [ nhãn ];
Mỗi tuyên bố và mỗi tuyên bố trong một khối bị chấm dứt bởi một dấu chấm phẩy. Một khối xuất hiện trong một khối khác phải có một dấu chấm phẩy saukết thúc, như được hiển thị ở trên; Tuy nhiên cuối cùngkết thúckết luận a cơ thể chức năng không yêu cầu dấu chấm phẩy.
Tip:Một sai lầm phổ biến là viết một dấu chấm phẩy ngay lập tức sau đóbắt đầu. Điều này không chính xác và sẽ dẫn đến lỗi cú pháp.
AnhãnChỉ cần nếu bạn muốn xác định khối để sử dụng trong mộtThoátcâu lệnh hoặc để đủ điều kiện Các biến được khai báo trong khối. Nếu một nhãn được đưa ra saukết thúc, nó phải khớp với nhãn tại Khối bắt đầu.
Tất cả các từ khóa không nhạy cảm với trường hợp. Định danh là ngầm được chuyển đổi thành chữ thường trừ khi được trích dẫn kép, giống như chúng đang ở Các lệnh 메이저 토토 사이트 thông thường.
Nhận xét hoạt động theo cùng một cách trongPL/PG메이저 토토 사이트Mã như trong 메이저 토토 사이트 thông thường. Một đôi Dash (--) Bắt đầu một nhận xét mở rộng đến kết thúc của dòng. MỘT/*Bắt đầu một khối Nhận xét rằng kéo dài đến sự xuất hiện phù hợp của*/. Chặn bình luận tổ.
Bất kỳ câu lệnh nào trong phần câu lệnh của khối có thể là mộtSubblock. Subblocks có thể được sử dụng cho Nhóm hợp lý hoặc để bản địa hóa các biến thành một nhóm nhỏ tuyên bố. Các biến được khai báo trong mặt nạ subblock bất kỳ các biến có tên tương tự của các khối bên ngoài trong suốt thời gian của subblock; Nhưng dù sao bạn cũng có thể truy cập các biến bên ngoài nếu bạn đủ điều kiện tên của họ với nhãn của khối của họ. Ví dụ:
Tạo hàm SomerAnc () trả về số nguyên dưới dạng $$ << Buterblock TUYÊN BỐ Số nguyên số lượng: = 30; BẮT ĐẦU Nâng cao thông báo 'số lượng ở đây là %', số lượng; - In 30 Số lượng: = 50; - - Tạo một Subblock - TUYÊN BỐ Số nguyên số lượng: = 80; BẮT ĐẦU Nâng cao thông báo 'số lượng ở đây là %', số lượng; - In 80 Nâng cao thông báo 'Số lượng bên ngoài ở đây là %', Outerblock.quantity; - In 50 KẾT THÚC; Nâng cao thông báo 'số lượng ở đây là %', số lượng; - In 50 Trở lại số lượng; KẾT THÚC; $$ ngôn ngữ plpgsql;
Lưu ý:Thực sự có một ẩn"Khối bên ngoài"bao quanh cơ thể của bất kỳPL/PG메이저 토토 사이트Hàm. Khối này cung cấp các khai báo của các tham số của hàm (nếu có), như cũng như một số biến đặc biệt nhưtìm thấy(xemPhần 40.5.5). Khối bên ngoài được dán nhãn với tên của chức năng, có nghĩa là các tham số và biến đặc biệt có thể đủ điều kiện tên của chức năng.
Điều quan trọng là không nhầm lẫn việc sử dụngbắt đầu/kết thúcđể nhóm Các câu lệnh trongPL/PG메이저 토토 사이트với Các lệnh 메이저 토토 사이트 có tên tương tự để kiểm soát giao dịch.PL/PG메이저 토토 사이트'sbắt đầu/kết thúcchỉ dành cho nhóm; Họ không bắt đầu hoặc kết thúc một giao dịch. Chức năng và Các thủ tục kích hoạt luôn được thực thi trong một giao dịch được thiết lập bởi một truy vấn bên ngoài - họ không thể bắt đầu hoặc cam kết rằng giao dịch, vì sẽ không có bối cảnh để họ thực hiện trong. Tuy nhiên, một khối chứa mộtNgoại lệmệnh đề hình thành hiệu quả một phép trừ có thể được quay lại mà không ảnh hưởng đến giao dịch bên ngoài. Để biết thêm về điều đó, xemPhần 40.6.6.