Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo tỷ số bóng đá euro hôm nay nay10369_10404

Các lệnh sau có sẵn để kèo tỷ số bóng đá euro hôm nay từ phần thân của chức năng PL/TCL:

spi_exec?-Countn? ?-Arraytên?lệnh?loop-body?

Thực thi lệnh SQL được đưa ra dưới dạng chuỗi. Một lỗi trong lệnh gây ra lỗi được nêu ra. Nếu không, giá trị trả về củaSPI_EXEClà số lượng hàng được xử lý (được chọn, chèn, kèo tỷ số bóng đá euro hôm nay nhật hoặc xóa) bằng lệnh hoặc bằng không nếu lệnh là một câu lệnh tiện ích. Ngoài ra, nếu lệnh làChọnCâu lệnh, các giá trị của các cột đã chọn được đặt trong các biến TCL như được mô tả bên dưới.

Tùy chọn-Countgiá trị cho biếtSPI_EXECSố lượng hàng tối đa để xử lý trong lệnh. Hiệu quả của việc này có thể so sánh với việc thiết lập một kèo tỷ số bóng đá euro hôm nay vấn như một con trỏ và sau đó nóiFetchn.

Nếu lệnh làChọnCâu lệnh, các giá trị của các cột kết quả được đặt thành các biến TCL được đặt tên theo các cột. Nếu-ArrayTùy chọn được đưa ra, các giá trị cột thay vào đó được lưu trữ thành các phần tử của mảng liên kết được đặt tên, với các tên cột được sử dụng làm chỉ mục mảng. Ngoài ra, số hàng hiện tại trong kết quả (đếm từ số 0) được lưu trữ vào phần tử mảng có tên".tupno", Trừ khi tên đó được sử dụng làm tên cột trong kết quả.

Nếu lệnh làChọncâu lệnh và khôngloop-bodytập lệnh được đưa ra, thì chỉ có hàng kết quả đầu tiên được lưu trữ thành các biến TCL hoặc các phần tử mảng; Các hàng còn lại, nếu có, bị bỏ qua. Không có lưu trữ xảy ra nếu kèo tỷ số bóng đá euro hôm nay vấn trả về không có hàng. (Trường hợp này có thể được phát hiện bằng cách kiểm tra kết quả củaSPI_EXEC.) Ví dụ:

spi_exec "chọn đếm (*) dưới dạng cnt từ pg_proc"

Sẽ đặt biến TCL$ cntvới số lượng hàng trongPG_PROCDanh mục hệ thống.

Nếu tùy chọnloop-bodyĐối số được đưa ra, đó là một phần của tập lệnh TCL được thực thi một lần cho mỗi hàng trong kết quả kèo tỷ số bóng đá euro hôm nay vấn. (Vòng lặp-Bodybị bỏ qua nếu lệnh đã cho không phải làChọn.) Các giá trị của các cột của hàng hiện tại được lưu trữ thành các biến TCL hoặc các phần tử mảng trước mỗi lần lặp. Ví dụ:

spi_exec -array c "select * từ pg_class" 
    ELOG gỡ lỗi "Have Bảng $ C (RelName)"

Sẽ in thông báo nhật ký cho mỗi hàngpg_ class. Tính năng này hoạt động tương tự như các cấu trúc vòng lặp TCL khác; đặc biệtTiếp tụcBreakLàm việc theo cách thông thường bên trong thân vòng.

Nếu một cột của kết quả kèo tỷ số bóng đá euro hôm nay vấn là null, biến mục tiêu cho nó là"Unset"thay vì được đặt.

spi_prepare kèo tỷ số bóng đá euro hôm nay vấn TypeList

Chuẩn bị và lưu gói kèo tỷ số bóng đá euro hôm nay vấn để thực hiện sau. Kế hoạch đã lưu sẽ được giữ lại cho cuộc sống của phiên hiện tại.

kèo tỷ số bóng đá euro hôm nay vấn có thể sử dụng các tham số, nghĩa là giữ chỗ cho các giá trị được cung cấp bất cứ khi nào kế hoạch thực sự được thực thi. Trong chuỗi kèo tỷ số bóng đá euro hôm nay vấn, tham khảo các tham số bằng các ký hiệu$ 1...$n. Nếu kèo tỷ số bóng đá euro hôm nay vấn sử dụng tham số, tên của các loại tham số phải được đưa ra làm danh sách TCL. (Viết một danh sách trống choTypeListNếu không sử dụng tham số.)

Giá trị trả về từspi_prepare14611_14662SPI_EXECP. Nhìn thấySPI_EXECPVí dụ.

SPI_EXECP?-Countn? ?-Arraytên? ?-nullschuỗi?QueryID?Danh sách giá trị? ?loop-body?

Thực hiện một kèo tỷ số bóng đá euro hôm nay vấn được chuẩn bị trước đó vớispi_prepare. QueryIDID có được trả về bởispi_prepare. Nếu các tham chiếu kèo tỷ số bóng đá euro hôm nay vấn tham chiếu, A15524_15536phải được cung cấp. Đây là danh sách TCL của các giá trị thực tế cho các tham số. Danh sách phải có cùng độ dài với danh sách loại tham số được cung cấp trước đây chospi_prepare15735_15744danh sách giá trịNếu kèo tỷ số bóng đá euro hôm nay vấn không có tham số.

Giá trị tùy chọn cho-nullslà một chuỗi không gian và'n'Nhân vật TellingSPI_EXECPNhững tham số nào là giá trị null. Nếu được đưa ra, nó phải có độ dài chính xác vớidanh sách giá trị. Nếu nó không được cung cấp, tất cả các giá trị tham số đều không phải là không.

Ngoại trừ cách chỉ định kèo tỷ số bóng đá euro hôm nay vấn và tham số của nó,SPI_EXECPhoạt động giống nhưSPI_EXEC. The-Count, -Arrayloop-bodyTùy chọn giống nhau và giá trị kết quả cũng vậy.

Đây là một ví dụ về chức năng PL/TCL bằng cách sử dụng gói đã chuẩn bị:

Tạo hàm T1_Count (Integer, Integer) Trả về số nguyên dưới dạng $$
    Nếu ! [thông tin tồn tại gd (kế hoạch)] 
        # Chuẩn bị kế hoạch đã lưu trong cuộc gọi đầu tiên
        Đặt gd (kế hoạch) [spi_prepare \
                "Chọn Đếm (*) là CNT từ T1 trong đó num = \ $ 1 và num <= \ $ 2" \
                [Danh sách Int4 Int4]]

    SPI_EXECP -Count 1 $ gd (kế hoạch) [Danh sách $ 1 $ 2]
    trả về $ cnt
$$ ngôn ngữ pltcl;

Chúng ta cần dấu gạch chéo ngược bên trong chuỗi kèo tỷ số bóng đá euro hôm nay vấn được cung cấp chospi_prepareĐể đảm bảo rằng$nĐiểm đánh dấu sẽ được kèo tỷ số bóng đá euro hôm nayền quaspi_prepareas-is và không được thay thế bằng thay thế biến TCL.

spi_lastoid

Trả về oid của hàng được chèn bởi lần cuốiSPI_EXEChoặcSPI_EXECP, nếu lệnh là một hàngChènvà bảng sửa đổi có chứa OIDS. (Nếu không, bạn không nhận được bằng không.)

17714_17721 chuỗi

Nhân đôi tất cả các lần xuất hiện của các ký tự trích dẫn và dấu gạch chéo ngược trong chuỗi đã cho. Điều này có thể được sử dụng để trích dẫn một cách an toàn các chuỗi sẽ được chèn vào các lệnh SQL được cung cấp choSPI_EXEChoặcspi_prepare. Ví dụ, hãy nghĩ về chuỗi lệnh SQL như:

"Chọn '$ val' làm ret"

trong đó biến TCLValthực tế chứakhông. Điều này sẽ dẫn đến chuỗi lệnh cuối cùng:

Chọn 'không' làm ret

sẽ gây ra lỗi phân tích cú pháp trong khiSPI_EXEChoặcspi_prepare. Để hoạt động đúng, lệnh đã gửi phải chứa:

Chọn 'không' làm ret

có thể được hình thành trong PL/TCL bằng cách sử dụng:

"Chọn '[QUOTE $ VAL]' là RET"

Một lợi thế củaSPI_EXECP18788_18922

ELOG cấp msg

phát ra thông báo nhật ký hoặc lỗi. Các cấp độ có thể làDebug, log, INFO, Thông báo, CẢNH BÁO, ERRORFatal. ERRORlàm tăng tình trạng lỗi; Nếu điều này không bị mắc kẹt bởi mã TCL xung quanh, lỗi sẽ kèo tỷ số bóng đá euro hôm nayền ra kèo tỷ số bóng đá euro hôm nay vấn gọi, khiến giao dịch hiện tại hoặc trừ bị hủy bỏ. Điều này thực sự giống như TCLERROR19627_19639Fatalhủy bỏ giao dịch và khiến phiên hiện tại đóng cửa. . Cho dù các thông điệp của một ưu tiên cụ thể được báo cáo cho máy khách, được ghi vào nhật ký máy chủ hay cả hai đều được điều khiển bởilog_min_messagesclient_min_messagesBiến cấu hình. Nhìn thấyChương 18Để biết thêm thông tin.