Phiên bản không được hỗ trợ:6.3
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ế.
PostgreSQL
prev Chương 31. Mở rộng SQL: kèo chấp bóng đá hôm nay NEXT

kèo chấp bóng đá hôm nay (SQL) Chức năng

SQL kèo chấp bóng đá hôm nay trên các loại cơ sở

Hàm kèo chấp bóng đá hôm nay đơn giản nhất có thể không có đối số và đơn giản là Trả về một loại cơ sở, chẳng hạn như int4:

Tạo hàm một () trả về int4
     Như 'chọn 1 là kết quả' kèo chấp bóng đá hôm nay ngữ 'SQL';

    Chọn một () làm câu trả lời;

         +-------+
         | Trả lời |
         +-------+
         | 1 |
         +-------+

Lưu ý rằng chúng tôi đã xác định danh sách mục tiêu cho kèo chấp bóng đá hôm nay (với kết quả tên), nhưng danh sách mục tiêu của truy vấn đã gọi kèo chấp bóng đá hôm nay vượt qua danh sách mục tiêu của kèo chấp bóng đá hôm nay. Do đó, kết quả là Trả lời được dán nhãn thay vì một.

Nó gần như dễ dàng xác định các hàm kèo chấp bóng đá hôm nay lấy các loại cơ sở như lập luận. Trong ví dụ dưới đây, hãy chú ý cách chúng tôi đề cập đến Đối số trong hàm là $ 1 và $ 2.

Tạo hàm add_em (int4, int4) trả về int4
     Như 'Chọn $ 1 + $ 2;' kèo chấp bóng đá hôm nay ngữ 'SQL';

    Chọn add_em (1, 2) làm câu trả lời;

         +-------+
         | Trả lời |
         +-------+
         | 3 |
         +-------+

SQL kèo chấp bóng đá hôm nay trên các loại tổng hợp

Khi chỉ định các kèo chấp bóng đá hôm nay với các đối số của các loại tổng hợp (chẳng hạn như EMP), chúng ta không chỉ cần chỉ định đối số nào chúng ta muốn (như Chúng tôi đã làm ở trên với $ 1 và $ 2) nhưng cũng là các thuộc tính của điều đó lý lẽ. Ví dụ: lấy kèo chấp bóng đá hôm nay double_salary tính toán mức lương của bạn sẽ là gì nếu nó được nhân đôi.

tạo kèo chấp bóng đá hôm nay double_salary (emp) trả về int4
     Như 'Chọn $ 1.Salary * 2 làm tiền lương;' Ngôn ngữ 'SQL';

    Chọn tên, double_salary (emp) làm giấc mơ
     Từ EMP
     Trong đó emp.dept = 'đồ chơi';

         +-----+-------+
         | Tên | Giấc mơ |
         +-----+-------+
         | Sam | 2400 |
         +-----+-------+

Lưu ý việc sử dụng cú pháp $ 1.Salary. Trước khi phóng vào Chủ đề của các kèo chấp bóng đá hôm nay trả về các loại tổng hợp, trước tiên chúng ta phải Giới thiệu các ký hiệu kèo chấp bóng đá hôm nay cho các thuộc tính chiếu. Các Cách đơn giản để giải thích điều này là chúng ta thường có thể sử dụng ký hiệu thuộc tính (lớp) và class.Attribution có thể thay thế cho nhau.

-
    - Điều này giống như:
    - Chọn emp.Name với tư cách là thanh niên từ EMP WHERE EMP.AGE <30
    -
    Chọn Tên (EMP) làm trẻ tuổi
     Từ EMP
     Nơi tuổi (emp) <30;

         +----------+
         | trẻ |
         +----------+
         | Sam |
         +----------+

Tuy nhiên, như chúng ta sẽ thấy, điều này không phải lúc nào cũng đúng. Cái này Ký hiệu kèo chấp bóng đá hôm nay rất quan trọng khi chúng ta muốn sử dụng một kèo chấp bóng đá hôm nay trả về một trường hợp duy nhất. Chúng tôi làm điều này bằng cách lắp ráp toàn bộ thể hiện trong hàm, thuộc tính theo thuộc tính. Đây là một Ví dụ về một hàm trả về một cá thể EMP duy nhất:

tạo kèo chấp bóng đá hôm nay new_emp () trả về emp
     Như 'Chọn \' none \ ':: văn bản dưới dạng tên,
      1000 là tiền lương,
      25 như tuổi,
      \ 'Không \' :: char16 như phòng; '
      Ngôn ngữ 'SQL';

Trong trường hợp này, chúng tôi đã chỉ định từng thuộc tính với một giá trị không đổi, nhưng bất kỳ tính toán hoặc biểu thức nào cũng có thể thay thế cho các hằng số này. Xác định một kèo chấp bóng đá hôm nay như thế này có thể là khó khăn. Một số cảnh báo quan trọng hơn như sau:

  • Thứ tự danh sách đích phải giống hệt như trong mà các thuộc tính xuất hiện trong câu lệnh CREATE TABLE (hoặc Khi bạn thực hiện một.* kèo chấp bóng đá hôm nay).

  • Bạn phải đánh máy các biểu thức (sử dụng: :) rất cẩn thận hoặc bạn sẽ thấy lỗi sau:

    WARN :: Hàm được tuyên bố trả về loại EMP không kèo chấp bóng đá hôm nay xuất (emp.*)
  • Khi gọi một hàm trả về một thể hiện, chúng ta không thể Lấy toàn bộ trường hợp. Chúng ta phải dự kiến ​​một thuộc tính ra khỏi trường hợp hoặc chuyển toàn bộ trường hợp vào kèo chấp bóng đá hôm nay khác.

    chọn Tên (new_emp ()) là không ai;
    
                +-------+
                | Không ai |
                +-------+
                | Không |
                +-------+
  • Lý do tại sao, nói chung, chúng ta phải sử dụng cú pháp kèo chấp bóng đá hôm nay Đối với các thuộc tính chiếu của các giá trị trả về hàm là Trình phân tích cú pháp không hiểu cú pháp (dấu chấm) khác cho phép chiếu khi kết hợp với các cuộc gọi kèo chấp bóng đá hôm nay.

    Chọn new_emp (). Tên là không ai;
                WARN: trình phân tích cú pháp: lỗi cú pháp tại hoặc gần "."

Bất kỳ bộ sưu tập nào trong kèo chấp bóng đá hôm nay SQL có thể được đóng gói cùng nhau và được định nghĩa là một chức năng. Các lệnh có thể Bao gồm các bản cập nhật (tức là, chèn, cập nhật và xóa) cũng như chọn Truy vấn. Tuy nhiên, lệnh cuối cùng phải là một lệnh chọn trả về bất cứ điều gì được chỉ định là returntype của hàm.

Tạo kèo chấp bóng đá hôm nay Clean_emp () Trả về Int4
     Như 'xóa khỏi emp trong đó emp.salary <= 0;
    Chọn 1 làm bỏ qua_this '
     Ngôn ngữ 'SQL';

    Chọn Clean_emp ();

         +-+
         | x |
         +-+
         | 1 |
         +-+

Prev Trang chủ Tiếp theo
Mở rộng SQL: kèo chấp bóng đá hôm nay UP Ngôn ngữ lập trình kèo chấp bóng đá hôm nay