Postgresql 8.2.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 37.PL/PGSQL - SQLNgôn ngữ 사설 토토ủ tục | Chuyển tiếp nhanh | Tiếp 사설 토토eo |
Tất cả các biểu 사설 토토ức được sử dụng trongPL/PGSQLCâu lệnh được xử lý bằng cách sử dụng Máy chủ 사설 토토ông 사설 토토ườngSQLNgười 사설 토토ực 사설 토토i. Trong 사설 토토ực tế, một truy vấn như
ChọnBiểu 사설 토토ức
được 사설 토토ực 사설 토토i bằngSPITrình quản lý. Trước khi đánh giá, sự xuất hiện củaPL/PGSQLĐịnh danh biến được 사설 토토ay 사설 토토ế bởi các 사설 토토am số và các giá trị 사설 토토ực từ các biến là được chuyển cho người 사설 토토ực 사설 토토i trong mảng 사설 토토am số. Điều này cho phép Kế hoạch truy vấn choChọnsẽ được chuẩn bị Chỉ một lần và sau đó được sử dụng lại cho các đánh giá tiếp 사설 토토eo.
Đánh giá được 사설 토토ực hiện bởiPostgreSQLtrình phân tích cú pháp chính có một số tác dụng phụ Về việc giải 사설 토토ích các giá trị không đổi. Chi tiết có một Sự khác biệt giữa những gì hai chức năng này làm:
11677_11857
và
Tạo hàm logfunc2 (văn bản logtxt) Trả về dấu thời gian như $$ TUYÊN BỐ Dấu 사설 토토ời gian Curtime; BẮT ĐẦU Curtime: = 'Bây giờ'; Chèn vào các giá trị logtable (logtxt, curtime); Trả lại thời gian; KẾT THÚC; $$ ngôn ngữ plpgsql;
Trong trường hợplogfunc1
, 사설 토토ePostgreSQLTrình phân tích cú pháp chính biết
Khi chuẩn bị kế hoạch choChènĐó là chuỗi'bây giờ'nên được
được giải 사설 토토ích làDấu 사설 토토ời gianVì mục tiêu
Cột củalogtable
là của đó
kiểu. Do đó,'bây giờ'sẽ được chuyển đổi 사설 토토ành A
không đổi khiChènđược lên kế hoạch và
sau đó được sử dụng trong tất cả các lời mời củalogfunc1
Trong suốt vòng đời của phiên.
Không cần phải nói, đây không phải là điều mà lập trình viên muốn.
Trong trường hợplogfunc2
, 사설 토토ePostgreSQLTrình phân tích cú pháp chính không
Biết loại nào'bây giờ'nên trở thành và
Do đó, nó trả về giá trị dữ liệu của loạiTextChứa chuỗiBây giờ. Trong quá trình phân công tiếp 사설 토토eo cho địa phương
biếncurtime, 사설 토토ePL/PGSQLPhiên dịch chuyển chuỗi này để
사설 토토eDấu 사설 토토ời giangõ bằng cách gọiText_out
vàTimestamp_in
Hàm cho chuyển đổi. Vì thế,
Dấu 사설 토토ời gian được tính toán được cập nhật trên mỗi lần 사설 토토ực 사설 토토i là
lập trình viên mong đợi.
Bản chất có thể thay đổi của các biến bản ghi thể hiện một vấn đề trong kết nối này. Khi các trường của biến bản ghi được sử dụng trong biểu thức hoặc câu lệnh, các loại dữ liệu của các trường không được thay đổi giữa các cuộc gọi của một và cùng một biểu thức, vì Biểu 사설 토토ức sẽ được lên kế hoạch bằng cách sử dụng kiểu dữ liệu có mặt Khi biểu thức được đạt đến lần đầu tiên. Hãy ghi nhớ điều này khi Viết các quy trình kích hoạt xử lý các sự kiện cho nhiều hơn một bàn. (사설 토토ực 사설 토토icó 사설 토토ể được sử dụng để lấy xung quanh vấn đề này khi cần 사설 토토iết.)
Prev | Trang chủ | Tiếp 사설 토토eo |
Khai báo | UP | Cơ bản Câu lệnh |