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 / 7.3 / 7.2 / 7.1
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 cách đọc kèo bóng đá trang chohiện tại9739_9820

cách đọc kèo bóng đá CHỨC NĂNG

tên

Tạo chức cách đọc kèo bóng đá-Xác định chức cách đọc kèo bóng đá mới

Synopsis

Tạo [hoặc thay thế] chức cách đọc kèo bóng đátên([argtype[, ...]]))
    Trả vềRettypeNgôn ngữLangname| Bất biến | Ổn định | BAY HƠI
    | Được gọi trên NULL đầu vào | Trả về NULL trên đầu vào null | NGHIÊM NGẶT
    | [Bên ngoài] Invoker bảo mật | [Bên ngoài] Bảo mật xác định
    | BẰNG 'Định nghĩa'
    | BẰNG 'obj_file','11603_11616'
   ...
    [ VỚI (thuộc tính[, ...])]]

Mô tả

Tạo chức cách đọc kèo bóng đáXác định mới chức cách đọc kèo bóng đá.Tạo hoặc thay thế chức cách đọc kèo bóng đá11969_12045

Nếu bao gồm tên lược đồ, thì hàm được tạo trong lược đồ quy định. Nếu không nó được tạo trong hiện tại lược đồ. Tên của chức cách đọc kèo bóng đá mới không được khớp với bất kỳ chức cách đọc kèo bóng đá với cùng loại đối số trong cùng một lược đồ. Tuy nhiên, các chức cách đọc kèo bóng đá của các loại đối số khác nhau có thể chia sẻ tên (cái này được gọi làquá tải).

Để cập nhật định nghĩa về chức cách đọc kèo bóng đá hiện có, sử dụngTạo hoặc thay thế chức cách đọc kèo bóng đá. Nó không phải là có thể thay đổi tên hoặc loại đối số của một hàm này cách (nếu bạn đã thử, bạn sẽ tạo ra một mới, khác biệt chức cách đọc kèo bóng đá). Cũng,cách đọc kèo bóng đá hoặc thay thế CHỨC NĂNGsẽ không cho phép bạn thay đổi loại trả về của một chức cách đọc kèo bóng đá hiện có. Để làm điều đó, bạn phải bỏ và tái tạo chức cách đọc kèo bóng đá.

Nếu bạn bỏ và sau đó tạo lại một chức cách đọc kèo bóng đá, chức cách đọc kèo bóng đá mới là không giống nhau như cũ; Bạn sẽ phá vỡ các quy tắc hiện có, Lượt xem, kích hoạt, vv đề cập đến hàm cũ. Sử dụng13102_13130Để thay đổi a định nghĩa chức cách đọc kèo bóng đá mà không phá vỡ các đối tượng đề cập đến chức cách đọc kèo bóng đá.

Người dùng tạo chức cách đọc kèo bóng đá trở thành chủ sở hữu của chức cách đọc kèo bóng đá.

tham số

tên

Tên của một hàm để cách đọc kèo bóng đá.

argtype

13646_13848

Loại cột được tham chiếu bằng cách viếtTableName.CộtName%loại; Sử dụng điều này có thể đôi khi giúp tạo ra một chức cách đọc kèo bóng đá độc lập từ các thay đổi thành định nghĩa của một bảng.

Tùy thuộc vào ngôn ngữ thực hiện, nó cũng có thể được phép chỉ định"Pseudotypes"chẳng hạn nhưcString. Pseudotypes chỉ ra rằng loại đối số thực tế là không hoàn chỉnh được chỉ định hoặc bên ngoài tập hợp dữ liệu SQL thông thường các loại.

Rettype

Kiểu dữ liệu trả về (tùy chọn đủ điều kiện lược đồ). Các Loại trả về có thể là loại cơ sở, loại phức tạp hoặc miền, hoặc có thể được chỉ định để sao chép loại cột hiện có. Xem mô tả dướiargtypeở trên về cách tham chiếu loại của cách đọc kèo bóng đá loại hiện có cột.

Tùy thuộc vào ngôn ngữ triển khai, nó cũng có thể được phép chỉ định"Pseudotypes"chẳng hạn nhưcString. ThesetofCông cụ sửa đổi chỉ ra rằng chức cách đọc kèo bóng đá sẽ trả về một tập hợp các mục, thay vì một mục.

Langname

Tên của ngôn ngữ mà hàm là được triển khai. Có thể làSQL, C, Nội bộhoặc tên của người dùng do người dùng xác định Ngôn ngữ thủ tục. (Xem thêmcreatelang.) Để lạc hậu Khả cách đọc kèo bóng đá tương thích, tên có thể được đặt trong trích dẫn.

Immutable
Ổn định
Disrily

Những thuộc tính này thông báo cho hệ thống xem có an toàn để thay thế nhiều đánh giá của hàm bằng cách đọc kèo bóng đá Đánh giá, để tối ưu hóa thời gian chạy. Nhiều nhất là cách đọc kèo bóng đá lựa chọn nên được chỉ định. Nếu không ai trong số này xuất hiện,Disrilylà giả định mặc định.

Immutablechỉ ra rằng chức cách đọc kèo bóng đá luôn trả về cùng một kết quả khi được đưa ra cùng một giá trị đối số; nghĩa là, nó không thực hiện tra cứu cơ sở dữ liệu hoặc sử dụng thông tin không có mặt trực tiếp trong Danh sách đối số. Nếu tùy chọn này được đưa ra, bất kỳ cuộc gọi nào của chức cách đọc kèo bóng đá với các đối số liên tục có thể ngay lập tức được thay thế bằng giá trị chức cách đọc kèo bóng đá.

ổn định16756_17156current_timestampGia đình chức cách đọc kèo bóng đá đủ điều kiện là ổn định, vì giá trị của chúng không thay đổi bên trong một giao dịch.

chỉ ra rằng Giá trị chức cách đọc kèo bóng đá có thể thay đổi ngay cả trong một lần quét bảng, Vì vậy, không có tối ưu hóa có thể được thực hiện. Tương đối ít cơ sở dữ liệu Các chức cách đọc kèo bóng đá dễ bay hơi theo nghĩa này; Một số ví dụ làngẫu nhiên (), currval (), Timeofday (). Lưu ý rằng bất kỳ chức cách đọc kèo bóng đá nào có tác dụng phụ phải được phân loại biến động, ngay cả khi nó Kết quả là khá dễ đoán, để ngăn chặn các cuộc gọi không tối ưu hóa đi; Một ví dụ làsetVal ().

được gọi là đầu vào null
Trả về NULL trên đầu vào null
nghiêm ngặt

được gọi là đầu vào null(The mặc định) chỉ ra rằng hàm sẽ được gọi Thông thường khi một số lập luận của nó là vô giá trị. Đó là lúc đó chức cách đọc kèo bóng đá của tác giả có trách nhiệm kiểm tra NULL các giá trị nếu cần thiết và trả lời một cách thích hợp.

Trả về NULL trên đầu vào nullhoặcnghiêm ngặt18575_18837

[bên ngoài] Invoker bảo mật
[bên ngoài] Bảo mật xác định

Bảo mật Invokerchỉ ra rằng chức cách đọc kèo bóng đá sẽ được thực thi với các đặc quyền của người dùng gọi nó. Đó là mặc định.bảo mật xác địnhChỉ định rằng chức cách đọc kèo bóng đá sẽ được thực thi với các đặc quyền của người dùng đã tạo nó.

Từ khóabên ngoàiIS hiện diện cho sự phù hợp SQL nhưng là tùy chọn vì không giống như Trong SQL, tính cách đọc kèo bóng đá này không chỉ áp dụng cho bên ngoài chức cách đọc kèo bóng đá.

Định nghĩa

cách đọc kèo bóng đá chuỗi xác định hàm; Ý nghĩa phụ thuộc vào ngôn ngữ. Nó có thể là cách đọc kèo bóng đá tên hàm bên trong, đường dẫn đến cách đọc kèo bóng đá tệp đối tượng, lệnh sql hoặc văn bản trong cách đọc kèo bóng đá thủ tục ngôn ngữ.

obj_file, 20064_20077

Hình thức này củaASmệnh đề là được sử dụng cho các hàm ngôn ngữ C có thể tải động khi Tên chức cách đọc kèo bóng đá trong mã nguồn ngôn ngữ C không giống nhau là tên của hàm SQL. Chuỗiobj_filelà tên của tệp chứa đối tượng có thể tải động vàLink_Symbollà liên kết của chức cách đọc kèo bóng đá Biểu tượng, nghĩa là tên của hàm trong ngôn ngữ C. Mã nguồn. Nếu ký hiệu liên kết bị bỏ qua, nó được giả định giống như tên của chức cách đọc kèo bóng đá SQL được xác định.

thuộc tính

Cách lịch sử để chỉ định các phần tùy chọn của thông tin về chức cách đọc kèo bóng đá. Các thuộc tính sau đây Có thể xuất hiện ở đây:

ISSTRICT

tương đương vớinghiêm ngặthoặcTrả về null trên null Đầu vào

isCachable

iscachablelà cách đọc kèo bóng đá lỗi thời Tương đương vớiImmutable; nó vẫn được chấp nhận để tương thích ngược lý do.

Tên thuộc tính không nhạy cảm với trường hợp.

Ghi chú

Tham khảoPhần 33.3Để tiếp tục thông tin về chức cách đọc kèo bóng đá viết.

toàn bộSQLLoại cú pháp là được phép cho các đối số đầu vào và giá trị trả về. Tuy nhiên, cách đọc kèo bóng đá số Chi tiết về đặc tả loại (ví dụ: trường chính xác cho kiểuSố) là trách nhiệm của thực hiện chức cách đọc kèo bóng đá cơ bản và bị nuốt một cách âm thầm (tức là, không được công nhận hoặc thi hành) bởiTạo chức cách đọc kèo bóng đálệnh.

PostgreSQLcho phép chức cách đọc kèo bóng đáquá tải; nghĩa là, cùng một tên có thể được sử dụng cho một số chức cách đọc kèo bóng đá khác nhau miễn là chúng có Các loại đối số khác biệt. Tuy nhiên, tên C của tất cả các chức cách đọc kèo bóng đá Phải khác nhau, vì vậy bạn phải cung cấp các chức cách đọc kèo bóng đá C quá tải Các tên C khác nhau (ví dụ: sử dụng các loại đối số như một phần của tên c).

Khi lặp lạiTạo chức cách đọc kèo bóng đácuộc gọi Tham khảo cùng cách đọc kèo bóng đá tệp đối tượng, tệp chỉ được tải cách đọc kèo bóng đá lần. ĐẾN dỡ và tải lại tệp (có lẽ trong quá trình phát triển), sử dụngTảilệnh.

Sử dụngchức cách đọc kèo bóng đá thảĐể loại bỏ Các chức cách đọc kèo bóng đá do người dùng xác định.

Bất kỳ trích dẫn hoặc dấu gạch chéo ngược nào trong định nghĩa chức cách đọc kèo bóng đá phải được thoát ra bằng cách nhân đôi chúng.

Để có thể xác định chức cách đọc kèo bóng đá, người dùng phải cósử dụngĐặc quyền về ngôn ngữ.

ví dụ

Đây là cách đọc kèo bóng đá ví dụ tầm thường để giúp bạn bắt đầu. Để biết thêm thông tin và ví dụ, xemPostgreSQL:.

Tạo chức cách đọc kèo bóng đá Thêm (Số nguyên, Số nguyên) Trả về Integer
    Như 'Chọn $ 1 + $ 2;'
    Ngôn ngữ SQL
    Bất biến
    Trả về null trên đầu vào null;

Viếtbảo mật xác địnhchức cách đọc kèo bóng đá An toàn

vì abảo mật xác địnhHàm được thực thi với các đặc quyền của người dùng đã tạo nó, quan tâm là cần thiết để đảm bảo rằng chức cách đọc kèo bóng đá không thể bị lạm dụng. Vì bảo vệ,search_path24285_24704PG_TEMPlà mục cuối cùng trongsearch_path. Hàm này minh họa Cách sử dụng an toàn:

Tạo chức cách đọc kèo bóng đá Check_password (văn bản, văn bản)
Trả lại Boolean là '
Tuyên bố đã thông qua Boolean;
        văn bản old_path;
BẮT ĐẦU
        - Lưu cũ tìm kiếm_Path; Thông báo chúng ta phải đủ điều kiện
        - Để đảm bảo chúng tôi gọi đúng chức cách đọc kèo bóng đá
        old_path: = pg_catalog.civerse_sinsting ('' search_path '');

        - Đặt một search_path an toàn: các lược đồ đáng tin cậy, sau đó '' pg_temp ''.
        - Chúng tôi đặt is_local = true sao cho giá trị cũ sẽ được khôi phục
        - Trong trường hợp có lỗi trước khi chúng ta đạt đến kết thúc chức cách đọc kèo bóng đá.
        Thực hiện pg_catalog.set_config ('' search_path '', '' admin, pg_temp '', true);

        - Làm bất cứ công việc an toàn nào chúng tôi đã đến.
        Chọn (PWD = $ 2)
        Từ NKT
        Trong đó tên người dùng = $ 1;

        - Khôi phục người gọi 'search_path
        Thực hiện pg_catalog.set_config ('' search_path '', old_path, true);

        Trở lại qua;
KẾT THÚC;
'Ngôn ngữ plpgsql bảo mật xác định;

Tương thích

ATạo chức cách đọc kèo bóng đáLệnh được xác định trong SQL99. ThePostgreSQLPhiên bản là tương tự nhưng không hoàn toàn tương thích. Các thuộc tính không di động, không phải là các ngôn ngữ có sẵn khác nhau.