Phiên tỷ lệ kèo bóng đá tối nay được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên tỷ lệ kèo bóng đá tối nay phát triển:18 / Devel
Phiên tỷ lệ kèo bóng đá tối nay 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 / 7.3 / 7.2
Tài liệu này dành cho phiên tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

42,5. tỷ lệ kèo bóng đá tối nay

12078_12190PL/PGSQL. Bất cứ điều gì không được công nhận là một trong các loại câu tỷ lệ kèo bóng đá tối nay này được coi là tỷ lệ kèo bóng đá tối nay SQL và được gửi đến công cụ cơ sở dữ liệu chính để thực thi, như được mô tả trongPhần 42.5.2Phần 42.5.3.

42.5.1. Phân công

Một gán giá trị cho APL/PGSQLBiến được viết là:

Biến13112_13126Biểu thức;

Như đã giải thích trước đây, biểu thức trong một tuyên bố như vậy được đánh giá bằng phương pháp SQLChọn13319_13667=) có thể được sử dụng thay vì tuân thủ PL/SQL: =.

13781_13923Phần 10.4). Nếu không có diễn viên gán nào được biết đến cho cặp loại dữ liệu liên quan,PL/PGSQLPhiên dịch sẽ cố gắng chuyển đổi giá trị kết quả bằng văn bản, đó là bằng cách áp dụng chức năng đầu ra của loại kết quả theo sau là chức năng đầu vào của loại biến. Lưu ý rằng điều này có thể dẫn đến tỷ lệ kèo bóng đá tối nay lỗi thời gian chạy được tạo bởi hàm đầu vào, nếu dạng chuỗi của giá trị kết quả không được chấp nhận cho hàm đầu vào.

Ví dụ:

thuế: = Subtotal * 0,06;
my_record.user_id: = 20;

14725_14774

Đối với bất kỳ tỷ lệ kèo bóng đá tối nay SQL nào không trả lại hàng, ví dụChènkhông cóTrở vềmệnh đề, bạn có thể thực thi tỷ lệ kèo bóng đá tối nay trong mộtPL/PGSQLHàm chỉ bằng cách viết tỷ lệ kèo bóng đá tối nay.

bất kỳPL/PGSQLTên biến xuất hiện trong văn bản tỷ lệ kèo bóng đá tối nay được coi là một tham số và sau đó giá trị hiện tại của biến được cung cấp dưới dạng giá trị tham số tại thời gian chạy. Điều này giống hệt như việc xử lý được mô tả trước đó cho các biểu thức; Để biết chi tiết, xemPhần 42.11.1.

Khi thực hiện tỷ lệ kèo bóng đá tối nay SQL theo cách này,PL/PGSQLCó thể lưu trữ và sử dụng lại kế hoạch thực thi cho tỷ lệ kèo bóng đá tối nay, như đã thảo luận trongPhần 42.11.2.

Đôi khi rất hữu ích khi đánh giá một biểu thức hoặcChọnTruy vấn nhưng loại bỏ kết quả, ví dụ khi gọi một hàm có tác dụng phụ nhưng không có giá trị kết quả hữu ích. Để làm điều này trongPL/PGSQL, Sử dụngthực hiệnTuyên bố:

thực hiệnTruy vấn;

Điều này thực thiTruy vấnvà loại bỏ kết quả. ViếtTruy vấngiống như cách bạn sẽ viết SQLChọntỷ lệ kèo bóng đá tối nay, nhưng thay thế từ khóa ban đầuChọnvớithực hiện. VìvớiTruy vấn, sử dụngthực hiệnvà sau đó đặt truy vấn trong ngoặc đơn. (Trong trường hợp này, truy vấn chỉ có thể trả về một hàng.)PL/PGSQLBiến sẽ được thay thế vào truy vấn giống như đối với các tỷ lệ kèo bóng đá tối nay trả về không có kết quả và kế hoạch được lưu trong cùng một cách. Ngoài ra, biến đặc biệt17006_17013được đặt thành true nếu truy vấn được tạo ra ít nhất một hàng hoặc sai nếu nó không tạo ra hàng (xemPhần 42.5.5).

Lưu ý

Người ta có thể mong đợi rằng viếtChọntrực tiếp sẽ thực hiện kết quả này, nhưng hiện tại cách duy nhất được chấp nhận để làm điều đó làthực hiện. tỷ lệ kèo bóng đá tối nay sql có thể trả về hàng, chẳng hạn nhưChọn, sẽ bị từ chối như một lỗi trừ khi nó cóthànhmệnh đề như đã thảo luận trong phần tiếp theo.

Một ví dụ:

thực hiện created_mv ('cs_session_page_requests_mv', my_query);

42.5.3. Thực hiện một truy vấn với kết quả một hàng

Kết quả của tỷ lệ kèo bóng đá tối nay SQL mang lại một hàng duy nhất (có thể là nhiều cột) có thể được gán cho biến bản ghi, biến loại hàng hoặc danh sách các biến vô hướng. Điều này được thực hiện bằng cách viết tỷ lệ kèo bóng đá tối nay SQL cơ sở và thêm mộtthànhmệnh đề. Ví dụ,

Chọnselect_expressionsthành [nghiêm ngặt]TargetTừ ...;
Chèn ... trở vềBiểu thứcthành [nghiêm ngặt]Target;
Cập nhật ... Trả vềBiểu thứcthành [nghiêm ngặt]Target;
Xóa ... Trả vềBiểu thứcthành [nghiêm ngặt]Target;

WHERETarget19313_19427PL/PGSQLBiến sẽ được thay thế vào phần còn lại của truy vấn và kế hoạch được lưu trữ, giống như được mô tả ở trên cho các tỷ lệ kèo bóng đá tối nay không trả lại hàng. Điều này hoạt động choChọn, Chèn/Cập nhật/XóavớiTrở về, và các tỷ lệ kèo bóng đá tối nay tiện ích trả về kết quả tập hợp hàng (chẳng hạn nhưGiải thích). Ngoại trừthànhmệnh đề, tỷ lệ kèo bóng đá tối nay SQL giống như nó sẽ được viết bên ngoàiPL/PGSQL.

Tip

Lưu ý rằng cách giải thích này củaChọnvớithànhhoàn toàn khác vớiPostgreSQL'thường xuyênChọn vàotỷ lệ kèo bóng đá tối nay, trong đóthànhTarget là một bảng mới được tạo. Nếu bạn muốn tạo một bảng từChọnKết quả bên trong APL/PGSQLHàm, sử dụng cú phápTạo bảng ... như chọn.

20690_20992

Thethành21039_21167select_expressionstrong AChọntỷ lệ kèo bóng đá tối nay hoặc ở cuối tỷ lệ kèo bóng đá tối nay cho các loại tỷ lệ kèo bóng đá tối nay khác. Bạn nên tuân theo quy ước này trong trường hợpPL/PGSQLtrình phân tích cú pháp trở nên chặt chẽ hơn trong tỷ lệ kèo bóng đá tối nay phiên bản tương lai.

nếunghiêm ngặtkhông được chỉ định trongthànhmệnh đề, sau đóTargetsẽ được đặt thành hàng đầu tiên được trả về bởi truy vấn hoặc cho null nếu truy vấn trả về không có hàng. (Lưu ý rằngHàng đầu tiênHồikhông được xác định rõ trừ khi bạn đã sử dụngĐặt hàng bởi.) Bất kỳ hàng kết quả nào sau khi hàng đầu tiên bị loại bỏ. Bạn có thể kiểm tra đặc biệttìm thấyBiến (xemPhần 42.5.5) Để xác định xem một hàng đã được trả về:

Chọn * vào MyRec từ EMP trong đó empname = myname;
Nếu không tìm thấy thì
    Tăng ngoại lệ 'nhân viên % không tìm thấy', myname;
Kết thúc nếu;

Nếunghiêm ngặtTùy chọn được chỉ định, truy vấn phải trả về chính xác một hàng hoặc lỗi thời gian chạy sẽ được báo cáo,NO_DATA_FOUND(không có hàng) hoặcTOUS_MANY_ROWS(nhiều hơn một hàng). Bạn có thể sử dụng một khối ngoại lệ nếu bạn muốn bắt lỗi, ví dụ:

Bắt đầu
    Chọn * vào MYREC nghiêm ngặt từ EMP trong đó empname = myname;
    NGOẠI LỆ
        Khi no_data_found sau đó
            Tăng ngoại lệ 'nhân viên % không tìm thấy', myname;
        Khi quá_MANY_ROWS thì
            Tăng ngoại lệ 'Nhân viên % không phải là duy nhất', myname;
KẾT THÚC;

Thực hiện thành công tỷ lệ kèo bóng đá tối nay vớinghiêm ngặtluôn luôn đặttìm thấyđến đúng.

choChèn/Cập nhật/XóavớiTrở về, PL/PGSQLBáo cáo lỗi cho nhiều hàng đã trả lại, ngay cả khinghiêm ngặtkhông được chỉ định. Điều này là do không có tùy chọn nhưĐặt hàng bởiĐể xác định hàng nào bị ảnh hưởng.

nếuprint_strict_paramsđược bật cho chức năng, sau đó khi có lỗi được ném vì tỷ lệ kèo bóng đá tối nay yêu cầu củanghiêm ngặtkhông được đáp ứng,chi tiếtMột phần của thông báo lỗi sẽ bao gồm thông tin về tỷ lệ kèo bóng đá tối nay tham số được truyền cho truy vấn. Bạn có thể thay đổiprint_strict_params24068_24108plpgsql.print_strict_params, mặc dù chỉ tỷ lệ kèo bóng đá tối nay phần tổng hợp hàm tiếp theo mới bị ảnh hưởng. Bạn cũng có thể bật nó trên cơ sở mỗi chức năng bằng cách sử dụng tùy chọn trình biên dịch, ví dụ:

24351_24615

Về thất bại, chức năng này có thể tạo một thông báo lỗi như

Lỗi: Truy vấn trả về không có hàng
Chi tiết: tham số: username = 'nosuchuser'
Bối cảnh: Hàm PL/PGSQL GET_USERID (Text) Dòng 6 tại câu tỷ lệ kèo bóng đá tối nay SQL

Lưu ý

Thenghiêm ngặtTùy chọn phù hợp với hành vi của Oracle PL/SQL'sChọn vàovà các câu tỷ lệ kèo bóng đá tối nay liên quan.

Để xử lý tỷ lệ kèo bóng đá tối nay trường hợp mà bạn cần xử lý nhiều hàng kết quả từ truy vấn SQL, xemPhần 42.6.6.

42.5.4. Thực hiện các tỷ lệ kèo bóng đá tối nay động

Thông thường, bạn sẽ muốn tạo các tỷ lệ kèo bóng đá tối nay động bên trongPL/PGSQL25716_25836PL/PGSQLCác nỗ lực bình thường để lưu trữ các kế hoạch cho các tỷ lệ kèo bóng đá tối nay (như đã thảo luận trongPhần 42.11.2) sẽ không hoạt động trong tỷ lệ kèo bóng đá tối nay tình huống như vậy. Để xử lý loại vấn đề này,thực thi26177_26202

thực thichuỗi tỷ lệ kèo bóng đá tối nay[thành [nghiêm ngặt]Target ] [Sử dụngBiểu thức[, ...]];

WHEREchuỗi tỷ lệ kèo bóng đá tối naylà một biểu thức mang lại một chuỗi (loạiText) chứa tỷ lệ kèo bóng đá tối nay sẽ được thực thi. Tùy chọnTargetlà một biến bản ghi, biến hàng hoặc danh sách các biến đơn giản và các trường bản ghi/hàng đơn giản, trong đó kết quả của tỷ lệ kèo bóng đá tối nay sẽ được lưu trữ. Tùy chọnsử dụngBiểu thức cung cấp các giá trị được chèn vào tỷ lệ kèo bóng đá tối nay.

Không thay thếPL/PGSQLBiến được thực hiện trên chuỗi tỷ lệ kèo bóng đá tối nay được tính toán. Bất kỳ giá trị biến bắt buộc nào cũng phải được chèn vào chuỗi tỷ lệ kèo bóng đá tối nay khi nó được xây dựng; hoặc bạn có thể sử dụng các tham số như mô tả bên dưới.

27348_27407thực thi. Thay vào đó, tỷ lệ kèo bóng đá tối nay luôn được lên kế hoạch mỗi khi câu tỷ lệ kèo bóng đá tối nay được chạy. Do đó, chuỗi tỷ lệ kèo bóng đá tối nay có thể được tạo động trong hàm để thực hiện các hành động trên các bảng và cột khác nhau.

Thethànhmệnh đề Chỉ định nơi kết quả của tỷ lệ kèo bóng đá tối nay trả về tỷ lệ kèo bóng đá tối nay SQL phải được chỉ định. Nếu một danh sách hàng hoặc danh sách biến được cung cấp, nó phải khớp chính xác với cấu trúc của kết quả của truy vấn (khi một biến bản ghi được sử dụng, nó sẽ tự động cấu hình để khớp cấu trúc kết quả). Nếu nhiều hàng được trả về, chỉ có hàng đầu tiên được gán chothànhBiến. Nếu không có hàng nào được trả về, null được gán chothànhBiến (s). Nếu khôngthànhmệnh đề được chỉ định, kết quả truy vấn bị loại bỏ.

Nếunghiêm ngặt28332_28415

Chuỗi tỷ lệ kèo bóng đá tối nay có thể sử dụng các giá trị tham số, được tham chiếu trong tỷ lệ kèo bóng đá tối nay là$ 1, $ 2, v.v ... Những biểu tượng này đề cập đến tỷ lệ kèo bóng đá tối nay giá trị được cung cấp trongSử dụng28660_28945

Thực thi 'Chọn đếm (*) từ mytable trong đó chèn_by = $ 1 và chèn <= $ 2'
   Vào c
   Sử dụng Check_user, secoSed_date;

Lưu ý rằng các ký hiệu tham số chỉ có thể được sử dụng cho các giá trị dữ liệu - nếu bạn muốn sử dụng tên bảng hoặc cột được xác định động, bạn phải chèn chúng vào chuỗi tỷ lệ kèo bóng đá tối nay theo văn bản. Ví dụ: nếu truy vấn trước cần được thực hiện theo bảng được chọn động, bạn có thể làm điều này:

Thực thi 'Chọn đếm (*) từ'
    || QUOTE_IDENT (TabName)
    || 'Trong đó chèn_by = $ 1 và chèn <= $ 2'
   Vào c
   Sử dụng Check_user, secoSed_date;

Cách tiếp cận sạch hơn là sử dụngđịnh dạng ()'S%IĐặc điểm kỹ thuật cho tên bảng hoặc cột (chuỗi được phân tách bởi một dòng mới được nối):

Định dạng thực thi ('chọn đếm (*) từ %i'
   'Trong đó chèn_by = $ 1 và chèn <= $ 2', tabName)
   Vào c
   Sử dụng Check_user, secoSed_date;

Một hạn chế khác trên tỷ lệ kèo bóng đá tối nay ký hiệu tham số là chúng chỉ hoạt động trongChọn, Chèn, Cập nhậtXóatỷ lệ kèo bóng đá tối nay. Trong các loại câu tỷ lệ kèo bóng đá tối nay khác (được gọi chung là các câu tỷ lệ kèo bóng đá tối nay tiện ích), bạn phải chèn các giá trị theo văn bản ngay cả khi chúng chỉ là giá trị dữ liệu.

ANthực thiVới chuỗi tỷ lệ kèo bóng đá tối nay hằng số đơn giản và một sốSử dụngtham số, như trong ví dụ đầu tiên ở trên, có chức năng tương đương với chỉ viết tỷ lệ kèo bóng đá tối nay trực tiếp trongPL/PGSQLvà cho phép thay thếPL/PGSQLBiến sẽ tự động xảy ra. Sự khác biệt quan trọng làthực thisẽ lập kế hoạch lại tỷ lệ kèo bóng đá tối nay trên mỗi lần thực thi, tạo một kế hoạch dành riêng cho các giá trị tham số hiện tại; trong khiPL/PGSQLNếu không thì có thể tạo một kế hoạch chung và lưu trữ nó để sử dụng lại. Trong tỷ lệ kèo bóng đá tối nay tình huống mà kế hoạch tốt nhất phụ thuộc mạnh vào tỷ lệ kèo bóng đá tối nay giá trị tham số, có thể hữu ích khi sử dụngthực thiĐể đảm bảo tích cực rằng một kế hoạch chung không được chọn.

Chọn vàohiện không được hỗ trợ trongthực thi; Thay vào đó, thực hiện một đơn giảnChọntỷ lệ kèo bóng đá tối nay và chỉ địnhthànhlà một phần củathực thichính nó.

Lưu ý

ThePL/PGSQL thực thiCâu tỷ lệ kèo bóng đá tối nay không liên quan đếnthực thiCâu tỷ lệ kèo bóng đá tối nay SQL được hỗ trợ bởiPostgreSQLMáy chủ. Máy chủthực thistatement cannot be used directly withinPL/PGSQLchức năng (và không cần thiết).

Ví dụ 42.1. Trích dẫn tỷ lệ kèo bóng đá tối nay giá trị trong tỷ lệ kèo bóng đá tối nay truy vấn động

Khi làm việc với các tỷ lệ kèo bóng đá tối nay động, bạn thường sẽ phải xử lý việc thoát khỏi các trích dẫn đơn lẻ. Phương pháp được đề xuất để trích dẫn văn bản cố định trong cơ thể chức năng của bạn là trích dẫn đô la. (Nếu bạn có mã di sản không sử dụng báo giá đô la, vui lòng tham khảo tổng quan trongPhần 42.12.1, có thể tiết kiệm cho bạn một số nỗ lực khi dịch mã nói thành một sơ đồ hợp lý hơn.)

Giá trị động yêu cầu xử lý cẩn thận vì chúng có thể chứa tỷ lệ kèo bóng đá tối nay ký tự trích dẫn. Một ví dụ sử dụngđịnh dạng ()(Điều này giả định rằng bạn là đô la trích dẫn cơ thể chức năng để không cần phải nhân đôi dấu hiệu):

Định dạng thực thi ('Cập nhật TBL SET %I = $ 1'
   'Trong đó key = $ 2', colname) bằng cách sử dụng newValue, keyValue;

cũng có thể gọi trực tiếp tỷ lệ kèo bóng đá tối nay chức năng trích dẫn:

Thực thi 'Cập nhật bộ TBL'
        || quote_ident (colname)
        || '='
        || quote_literal (newValue)
        || 'WHERE KEY ='
        || quote_literal (keyValue);

Ví dụ này thể hiện việc sử dụngQUOTE_IDENTquote_literalChức năng (xemPhần 9.4). Để an toàn, tỷ lệ kèo bóng đá tối nay biểu thức chứa định danh cột hoặc bảng phải được truyền quaquote_identTrước khi chèn vào truy vấn động. Biểu thức chứa các giá trị nên là chuỗi theo nghĩa đen trong tỷ lệ kèo bóng đá tối nay được xây dựng phải được truyền quaquote_literal. tỷ lệ kèo bóng đá tối nay chức năng này thực hiện tỷ lệ kèo bóng đá tối nay bước thích hợp để trả về văn bản đầu vào được đặt trong tỷ lệ kèo bóng đá tối nay trích dẫn kép hoặc đơn tương ứng, với bất kỳ ký tự đặc biệt được nhúng nào thoát ra đúng.

quote_literalđược dán nhãnnghiêm ngặt, nó sẽ luôn trả về null khi được gọi bằng một đối số null. Trong ví dụ trên, nếuNewValuehoặcKeyValuelà NULL, toàn bộ chuỗi truy vấn động sẽ trở thành null, dẫn đến lỗi từthực thi. Bạn có thể tránh được vấn đề này bằng cách sử dụngquote_nullableHàm, hoạt động giống nhưquote_literalNgoại trừ khi được gọi với đối số null, nó trả về chuỗinull. Ví dụ,

Thực thi 'Cập nhật bộ TBL'
        || quote_ident (colname)
        || '='
        || quote_nullable (newValue)
        || 'WHERE KEY ='
        || quote_nullable (keyValue);

Nếu bạn đang xử lý tỷ lệ kèo bóng đá tối nay giá trị có thể là NULL, bạn thường nên sử dụngQUOTE_NULLABLEthay choquote_literal.

Như mọi khi, phải cẩn thận để đảm bảo rằng tỷ lệ kèo bóng đá tối nay giá trị null trong truy vấn không mang lại kết quả ngoài ý muốn. Ví dụWHEREmệnh đề

'trong đó khóa =' || quote_nullable (keyValue)

Sẽ không bao giờ thành công nếuKeyValuelà null, vì kết quả của việc sử dụng toán tử bình đẳng=với một toán hạng null luôn không có. Nếu bạn muốn null hoạt động như một giá trị khóa thông thường, bạn sẽ cần viết lại những điều trên là

'trong đó khóa không khác biệt với' || quote_nullable (keyValue)

(Hiện tại,không khác biệt vớiđược xử lý kém hiệu quả hơn nhiều so với=, vì vậy đừng làm điều này trừ khi bạn phải. Nhìn thấyPhần 9.2Để biết thêm thông tin về NULLS vàlà khác biệt.)

Lưu ý rằng trích dẫn đô la chỉ hữu ích để trích dẫn văn tỷ lệ kèo bóng đá tối nay cố định. Sẽ là một ý tưởng rất tệ khi cố gắng viết ví dụ này như:

Thực thi 'Cập nhật bộ TBL'
        || quote_ident (colname)
        || '= $$'
        || NewValue
        || '$$ trong đó key ='
        || quote_literal (keyValue);

Bởi vì nó sẽ bị hỏng nếu nội dung củaNewValuetình cờ chứa$$. Sự phản đối tương tự sẽ áp dụng cho bất kỳ dấu phân cách nào khác mà bạn có thể chọn. Vì vậy, để trích dẫn một cách an toàn văn tỷ lệ kèo bóng đá tối nay không được biết trước, bạnphảiSử dụngquote_literal, quote_nullablehoặcQUOTE_IDENT, khi thích hợp.

Các câu tỷ lệ kèo bóng đá tối nay SQL động cũng có thể được xây dựng một cách an toàn bằng cách sử dụngĐịnh dạngfunction (xemPhần 9.4.1). Ví dụ:

Định dạng thực thi ('Cập nhật TBL SET %I = %L'
   'Trong đó key = %l', colname, newValue, keyValue);

%Itương đương vớiQUOTE_IDENT%Llà tương đương vớiquote_nullable. TheĐịnh dạngCó thể sử dụng chức năng kết hợp vớisử dụngmệnh đề:

Định dạng thực thi ('Cập nhật TBL SET %I = $ 1 trong đó khóa = $ 2', Colname)
   Sử dụng NewValue, KeyValue;

Mẫu này tốt hơn vì tỷ lệ kèo bóng đá tối nay biến được xử lý ở định dạng loại dữ liệu gốc của chúng, thay vì chuyển đổi chúng một cách vô điều kiện sang văn bản và trích dẫn chúng qua%L. Nó cũng hiệu quả hơn.


Một ví dụ lớn hơn nhiều về tỷ lệ kèo bóng đá tối nay động vàthực thiCó thể nhìn thấy trongVí dụ 42.10, xây dựng và thực hiện mộtTạo chức năngtỷ lệ kèo bóng đá tối nay xác định chức năng mới.

42.5.5. Có được trạng thái kết quả

Có một số cách để xác định ảnh hưởng của tỷ lệ kèo bóng đá tối nay. Phương pháp đầu tiên là sử dụngNhận chẩn đoántỷ lệ kèo bóng đá tối nay, có biểu mẫu:

GET [hiện tại] Chẩn đoánBiến= | : =Mục[, ...];

tỷ lệ kèo bóng đá tối nay này cho phép truy xuất các chỉ báo trạng thái hệ thống.hiện tạilà một từ tiếng ồn (nhưng xem thêmNhận chẩn đoán xếp chồnginPhần 42.6.8.1). MỗiMụclà một từ khóa xác định giá trị trạng thái được gán cho được chỉ địnhbiến(nên thuộc loại dữ liệu phù hợp để nhận nó). tỷ lệ kèo bóng đá tối nay mục trạng thái hiện có được hiển thị trongBảng 42.1. Đại tá-bình đẳng (: =) có thể được sử dụng thay vì SQL-Standard=Mã thông báo. Một ví dụ:

Nhận chẩn đoán integer_var = row_count;

Bảng 42.1. tỷ lệ kèo bóng đá tối nay mục chẩn đoán có sẵn

tên loại Mô tả
ROW_COUNT Bigint Số lượng hàng được xử lý bởi gần đây nhấtSQLtỷ lệ kèo bóng đá tối nay
pg_context Text dòng văn tỷ lệ kèo bóng đá tối nay mô tả ngăn xếp cuộc gọi hiện tại (xemPhần 42.6.9)

Phương pháp thứ hai để xác định hiệu ứng của tỷ lệ kèo bóng đá tối nay là kiểm tra biến đặc biệt có têntìm thấy, thuộc loạiBoolean. tìm thấyBắt đầu sai trong mỗiPL/PGSQLGọi chức năng. Nó được đặt bởi từng loại câu tỷ lệ kèo bóng đá tối nay sau:

  • AChọn vàoBộ câu tỷ lệ kèo bóng đá tối naytìm thấyĐúng nếu một hàng được gán, sai nếu không có hàng được trả về.

  • Athực hiệnbộ câu tỷ lệ kèo bóng đá tối naytìm thấyĐúng nếu nó tạo (và loại bỏ) một hoặc nhiều hàng, sai nếu không có hàng được sản xuất.

  • Cập nhật, ChènXóaCâu tỷ lệ kèo bóng đá tối naytìm thấyĐúng nếu ít nhất một hàng bị ảnh hưởng, sai nếu không có hàng bị ảnh hưởng.

  • AFetchbộ câu tỷ lệ kèo bóng đá tối naytìm thấyĐúng nếu nó trả lại một hàng, sai nếu không có hàng được trả về.

  • ADi chuyểnbộ câu tỷ lệ kèo bóng đá tối naytìm thấyĐúng nếu nó định vị thành công con trỏ, sai nếu không.

  • Achohoặcforeachbộ câu tỷ lệ kèo bóng đá tối nayTìm thấyĐúng nếu nó lặp lại một hoặc nhiều lần, khác.tìm thấyđược đặt theo cách này khi vòng lặp thoát; bên trong việc thực hiện vòng lặp,tìm thấykhông được sửa đổi bởi câu tỷ lệ kèo bóng đá tối nay LOOP, mặc dù nó có thể được thay đổi bằng cách thực hiện các câu tỷ lệ kèo bóng đá tối nay khác trong phần thân vòng.

  • Truy vấn trả vềTruy vấn trả về thực thiCâu tỷ lệ kèo bóng đá tối naytìm thấyĐúng nếu truy vấn trả về ít nhất một hàng, sai nếu không có hàng được trả về.

khác44595_44605Câu tỷ lệ kèo bóng đá tối nay không thay đổi trạng thái củaTìm thấy. Lưu ý cụ thể rằngthực thiThay đổi đầu ra củaNhận chẩn đoán, nhưng không thay đổitìm thấy.

Tìm thấy44915_44950PL/PGSQLchức năng; mọi thay đổi đối với nó chỉ ảnh hưởng đến chức năng hiện tại.

42.5.6. Không làm gì cả

Đôi khi một câu tỷ lệ kèo bóng đá tối nay trình giữ chỗ không có gì hữu ích. Ví dụ, nó có thể chỉ ra rằng một cánh tay của chuỗi if/sau đó/khác được cố tình trống. Đối với mục đích này, hãy sử dụngnullcâu tỷ lệ kèo bóng đá tối nay:

null;

Ví dụ: hai đoạn mã sau là tương đương:

Bắt đầu
    y: = x / 0;
NGOẠI LỆ
    Khi Division_by_zero sau đó
        VÔ GIÁ TRỊ;  - Bỏ qua lỗi
KẾT THÚC;
Bắt đầu
    y: = x / 0;
NGOẠI LỆ
    Khi phân chia_by_zero sau đó - bỏ qua lỗi
KẾT THÚC;

Thể hơn là một vấn đề của hương vị.

Lưu ý

Trong PL/SQL của Oracle, danh sách câu tỷ lệ kèo bóng đá tối nay trống không được phép, và vì vậynullCâu tỷ lệ kèo bóng đá tối nayYêu cầuĐối với tỷ lệ kèo bóng đá tối nay tình huống như thế này.PL/PGSQLcho phép bạn không viết gì, thay vào đó.