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 một trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá cúp c2 phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

Tạo chức kèo bóng đá cúp c2

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

Synopsis

Tạo [hoặc thay thế] chức kèo bóng đá cúp c2tên([[argmode] [argname]argtype[Mặc định | =default_expr] [, ...]]))
    [ReturnRettype| Trả về bảng (Cột_name Cột_Type[, ...])]]
   NGÔN NGỮLang_Name| Biến đổi cho loạitype_name[, ...]
    | CỬA SỔ
    | Immutable | Ổn định | Dễ bay hơi
    | [Không] không bị rò rỉ
    | Được gọi trên đầu vào null | 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
    | Song song không an toàn | Bị hạn chế | AN TOÀN 
    | TRỊ GIÁexec_cost| Hàngresult_rows| BỘCấu hình_parametertogiá trị| =giá trị| Từ hiện tại
    | BẰNG 'Định nghĩa'
    | BẰNG 'obj_file','link_symbol'
   ...

Mô tả

Tạo chức kèo bóng đá cúp c2Xác định chức kèo bóng đá cúp c2 mới.Tạo hoặc thay thế chức kèo bóng đá cúp c2sẽ tạo chức kèo bóng đá cúp c2 mới hoặc thay thế một định nghĩa hiện có. Để có thể xác định chức kèo bóng đá cúp c2, người dùng phải cósử dụngĐặc quyền về ngôn ngữ.

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

Để thay thế định nghĩa hiện tại của một hàm hiện có, sử dụngTạo hoặc thay thế chức kèo bóng đá cúp c2. Không thể thay đổi tên hoặc loại đối số của một hàm theo cách này (nếu bạn đã thử, bạn thực sự sẽ kèo bóng đá cúp c2 ra một hàm mới, khác biệt). Cũng,Tạo hoặc thay thế chức kèo bóng đá cúp c2sẽ không cho phép bạn thay đổi loại trả về của một hàm hiện có. Để làm điều đó, bạn phải bỏ và tái tạo chức kèo bóng đá cúp c2. (Khi sử dụngouttham số, điều đó có nghĩa là bạn không thể thay đổi kèo bóng đá cúp c2 loại của bất kỳ nàoouttham số ngoại trừ bằng cách bỏ chức kèo bóng đá cúp c2.)

KhiTạo hoặc thay thế chức kèo bóng đá cúp c214065_14351

14361_14553Tạo hoặc thay thế chức kèo bóng đá cúp c2Để thay đổi định nghĩa hàm mà không phá vỡ kèo bóng đá cúp c2 đối tượng đề cập đến hàm. Cũng,Chức kèo bóng đá cúp c2 thay đổiCó thể được sử dụng để thay đổi hầu hết kèo bóng đá cúp c2 thuộc tính phụ trợ của một hàm hiện có.

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

Để có thể tạo chức kèo bóng đá cúp c2, bạn phải cósử dụngĐặc quyền về kèo bóng đá cúp c2 loại đối số và loại trả về.

15060_15071Phần 38.3Để biết thêm thông tin về chức kèo bóng đá cúp c2 viết.

tham số

tên

Tên (tùy chọn Lược đồ theo trình độ) của hàm để kèo bóng đá cúp c2.

argmode

Chế độ của một đối số:in, out, InouthoặcVariadic. Nếu bị bỏ qua, mặc định làin. Chỉ mộtoutĐối số có thể theo dõiVariadicmột. Cũng,outInoutĐối số không thể được sử dụng cùng vớiBẢNG TRẢ LẠIký hiệu.

argname

16321_16647Phần 4.3). Trong mọi trường hợp, tên của một đối số đầu ra là có ý nghĩa, bởi vì nó xác định tên cột trong loại hàng kết quả. (Nếu bạn bỏ qua tên cho đối số đầu ra, hệ thống sẽ chọn tên cột mặc định.)

argtype

Loại dữ liệu của kèo bóng đá cúp c2 đối số của hàm (tùy chọn Lược đồ theo trình độ), nếu có. kèo bóng đá cúp c2 loại đối số có thể là kèo bóng đá cúp c2 loại cơ sở, tổng hợp hoặc miền hoặc có thể tham chiếu loại của cột bảng.

Tùy thuộc vào ngôn ngữ triển khai, nó cũng có thể được phép chỉ địnhMạnhPseudo-TypesVoichẳng hạn nhưcString. kèo bóng đá cúp c2 loại giả chỉ ra rằng loại đối số thực tế được chỉ định không đầy đủ hoặc bên ngoài tập hợp kèo bóng đá cúp c2 loại dữ liệu SQL thông thường.

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

default_expr

Một biểu thức được sử dụng làm giá trị mặc định nếu tham số không được chỉ định. Biểu thức phải được ép buộc với loại đối số của tham số. Chỉ đầu vào (bao gồmInout18295_18433

Rettype

Loại dữ liệu trả về (tùy chọn đủ điều kiện lược đồ). Loại trả về có thể là loại cơ sở, tổng hợp hoặc tên miền hoặc có thể tham chiếu loại cột bảng. Tùy thuộc vào ngôn ngữ triển khai, nó cũng có thể được phép chỉ địnhHồiPseudo-TypesHàngchẳng hạn nhưcString18911_18974voidlà loại trả về.

Khi cóouthoặcInouttham số,return19178_19285RecordNếu có nhiều tham số đầu ra hoặc cùng loại với tham số đầu ra đơn.

Thesetof19464_19558

Loại cột được tham chiếu bằng cách viếtTable_Name.Cột_name%loại.

Cột_name

Tên của cột đầu ra trongBảng trả vềCú pháp. Đây thực sự là một cách khác để tuyên bố một cái tênouttham số, ngoại trừBẢNG TRẢ LẠIcũng ngụ ýreturn setof.

Cột_Type

Loại dữ liệu của cột đầu ra trongBẢNG TRẢ LẠICú pháp.

Lang_Name

Tên của ngôn ngữ mà hàm được thực hiện. Nó có thể làSQL, C, Nội bộhoặc tên của ngôn ngữ thủ tục do người dùng xác định, ví dụ:PLPGSQL. Kèm theo tên trong kèo bóng đá cúp c2 trích dẫn đơn được không dùng nữa và yêu cầu trường hợp phù hợp.

Transform cho loạitype_name[, ...]

Liệt kê chuyển đổi cuộc gọi cho chức kèo bóng đá cúp c2 nên áp dụng. Chuyển đổi Chuyển đổi giữa các loại SQL và các loại dữ liệu cụ thể ngôn ngữ; nhìn thấyPostgreSQL: Tài liệu:. Việc triển khai ngôn ngữ thủ tục thường có kiến ​​thức mã hóa cứng về kèo bóng đá cúp c2 loại tích hợp, vì vậy chúng không cần được liệt kê ở đây. Nếu việc triển khai ngôn ngữ thủ tục không biết cách xử lý một loại và không có biến đổi nào được cung cấp, nó sẽ quay trở lại một hành vi mặc định để chuyển đổi kèo bóng đá cúp c2 loại dữ liệu, nhưng điều này phụ thuộc vào việc thực hiện.

21802_21810

WindowCho biết chức kèo bóng đá cúp c2 làHàm cửa sổchứ không phải là một hàm đơn giản. Điều này hiện chỉ hữu ích cho các chức kèo bóng đá cúp c2 được viết trong C. TheWindowThuộc tính không thể thay đổi khi thay thế định nghĩa hàm hiện có.

Immutable
ổn định
Disrile

Những thuộc tính này thông báo trình tối ưu hóa truy vấn về hành vi của hàm. Nhiều nhất một lựa chọn có thể được chỉ định. Nếu không ai trong số này xuất hiện,Disrilelà giả định mặc định.

bất biến22694_23067

ổn định23118_23516sauTrình kích hoạt muốn truy vấn kèo bóng đá cúp c2 hàng được sửa đổi bởi lệnh hiện tại.) Cũng lưu ý rằngcurrent_timestampGia đình chức kèo bóng đá cúp c2 đủ điều kiện ổn định, vì giá trị của chúng không thay đổi trong giao dịch.

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

Để biết thêm chi tiết, xemPhần 38.7.

Leakproof

Leakproofchỉ ra rằng chức kèo bóng đá cúp c2 không có tác dụng phụ. Nó cho thấy không có thông tin về các đối số của nó ngoài giá trị trả về của nó. Ví dụ: một hàm ném thông báo lỗi cho một số giá trị đối số nhưng không phải các giá trị khác hoặc bao gồm các giá trị đối số trong bất kỳ thông báo lỗi nào, không chống lại. Điều này ảnh hưởng đến cách hệ thống thực thi các truy vấn chống lại các chế độ xem được tạo bằngSecurity_BarrierTùy chọn hoặc bảng có bảo mật cấp hàng được bật. Hệ thống này sẽ thực thi các điều kiện từ các chính sách bảo mật và các quan điểm của rào cản bảo mật trước mọi điều kiện do người dùng cung cấp từ chính truy vấn có chứa các chức kèo bóng đá cúp c2 không chống chỗ, để ngăn chặn sự tiếp xúc vô tình của dữ liệu. Các chức kèo bóng đá cúp c2 và nhà khai thác được đánh dấu là rò rỉ được coi là đáng tin cậy và có thể được thực hiện trước các điều kiện từ các chính sách bảo mật và quan điểm của rào cản bảo mật. Ngoài ra, các chức kèo bóng đá cúp c2 không có đối số hoặc không được thông qua bất kỳ đối số nào từ chế độ xem hoặc bảng bảo mật không phải được đánh dấu là chống rò rỉ để được thực thi trước điều kiện bảo mật. Nhìn thấyPostgreSQL: Tài liệu: 11:Phần 41.5. Tùy chọn này chỉ có thể được đặt bởi Superuser.

đượ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(mặc định) chỉ ra rằng hàm sẽ được gọi bình thường khi một số đối số của nó là null. Sau đó, trách nhiệm của tác giả chức kèo bóng đá cúp c2 là kiểm tra các giá trị null 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ặtchỉ ra rằng hàm luôn trả về null bất cứ khi nào bất kỳ đối số nào của nó là null. Nếu tham số này được chỉ định, hàm không được thực thi khi có kèo bóng đá cúp c2 đối số null; thay vào đó là một kết quả null được giả định tự động.

[bên ngoài] Invoker bảo mật
[bên ngoài] Bảo mật Definer

Bảo mật InvokerCho biết rằng chức kèo bóng đá cúp c2 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 kèo bóng đá cúp c2 sẽ được thực thi với các đặc quyền của người dùng sở hữu nó.

Từ khóabên ngoàiđược phép phù hợp với SQL, nhưng nó là tùy chọn vì, không giống như trong SQL, tính kèo bóng đá cúp c2 này áp dụng cho tất cả các chức kèo bóng đá cúp c2 không chỉ bên ngoài.

song song

song song không an toànchỉ ra rằng hàm không thể được thực thi ở chế độ song song và sự hiện diện của một hàm đó trong câu lệnh SQL buộc kế hoạch thực thi nối tiếp. Đây là mặc định.Hạn chế song songCho biết chức kèo bóng đá cúp c2 có thể được thực thi ở chế độ song song, nhưng việc thực thi bị giới hạn ở Trưởng nhóm song song.An toàn song songCho biết chức kèo bóng đá cúp c2 an toàn để chạy ở chế độ song song mà không bị hạn chế.

Các chức kèo bóng đá cúp c2 phải được gắn nhãn song song không an toàn nếu chúng sửa đổi bất kỳ trạng thái cơ sở dữ liệu nào hoặc nếu chúng thay đổi giao dịch như sử dụng các giao dịch phụ hoặc nếu chúng truy cập trình tự hoặc cố gắng thực hiện các thay đổi liên tục đối với cài đặt (ví dụ:SetVal28660_28896SetSeedKhông thể được thực thi ngoài người lãnh đạo nhóm vì một sự thay đổi được thực hiện bởi một quy trình khác sẽ không được phản ánh trong nhà lãnh đạo). Nói chung, nếu một hàm được dán nhãn là an toàn khi bị hạn chế hoặc không an toàn hoặc nếu nó bị dán nhãn là bị hạn chế khi thực tế không an toàn, nó có thể ném lỗi hoặc tạo ra câu trả lời sai khi được sử dụng trong truy vấn song song. Về mặt lý thuyết, các chức kèo bóng đá cúp c2 ngôn ngữ C thể hiện hành vi hoàn toàn không xác định nếu bị dán nhãn sai, vì không có cách nào để hệ thống tự bảo vệ mình trước mã C tùy ý, nhưng trong nhiều trường hợp rất có thể, kết quả sẽ không tệ hơn bất kỳ chức kèo bóng đá cúp c2 nào khác. Nếu nghi ngờ, các chức kèo bóng đá cúp c2 nên được dán nhãn làkhông an toàn, là mặc định.

chi phí exec_cost

Một số dương đưa ra chi phí thực thi ước tính cho hàm, theo đơn vịCPU_OPERATOR_COST. Nếu hàm trả về một bộ, đây là chi phí cho mỗi hàng trả lại. Nếu chi phí không được chỉ định, 1 đơn vị được giả định cho các chức kèo bóng đá cúp c2 ngôn ngữ C và nội bộ và 100 đơn vị cho các chức kèo bóng đá cúp c2 trong tất cả các ngôn ngữ khác. Các giá trị lớn hơn khiến người lập kế hoạch cố gắng tránh đánh giá chức kèo bóng đá cúp c2 thường xuyên hơn mức cần thiết.

hàng result_rows

Một số dương cho số lượng hàng ước tính mà người lập kế hoạch nên mong đợi chức kèo bóng đá cúp c2 trở lại. Điều này chỉ được phép khi hàm được khai báo trả về một bộ. Giả định mặc định là 1000 hàng.

Cấu hình_parameter
giá trị

Thesetmệnh đề gây ra tham số cấu hình được chỉ định được đặt thành giá trị được chỉ định khi hàm được nhập và sau đó được khôi phục về giá trị trước của nó khi hàm thoát.Đặt từ hiện tạiLưu giá trị của tham số hiện tại khiTạo chức kèo bóng đá cúp c2được thực thi dưới dạng giá trị được áp dụng khi nhập hàm.

Nếu Aset31404_31463Đặt cục bộ31499_31692setLệnh (không cócục bộ) ghi đèsetmệnh đề, giống như nó sẽ làm cho trước trước đóĐặt cục bộLệnh: Các hiệu ứng của lệnh đó sẽ tồn tại sau khi thoát chức kèo bóng đá cúp c2, trừ khi giao dịch hiện tại được quay lại.

xemsetChương 19Để biết thêm thông tin về tên và giá trị tham số được phép.

Định nghĩa

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

Thường rất hữu ích khi sử dụng trích dẫn đô la (xemPhần 4.1.2.4) để viết chuỗi định nghĩa hàm, thay vì cú pháp trích dẫn đơn bình thường. Không có báo giá đô la, bất kỳ trích dẫn hoặc dấu gạch chéo ngược nào trong định nghĩa hàm phải được thoát bằng cách nhân đôi chúng.

obj_file, link_symbol

Hình thức này củaASmệnh đề được sử dụng cho kèo bóng đá cúp c2 hàm ngôn ngữ C có thể tải động khi tên hàm trong mã nguồn ngôn ngữ C không giống như tên của hàm SQL. Chuỗiobj_filelà tên của tệp thư viện được chia sẻ chứa hàm c được biên dịch và được hiểu là đối vớiTảiLệnh. Chuỗilink_symbollà ký hiệu liên kết của hàm, nghĩa là tên của hàm trong mã nguồn ngôn ngữ C. Nếu ký hiệu liên kết bị bỏ qua, nó được coi là giống như tên của hàm SQL được xác định. Tên C của tất cả các chức kèo bóng đá cúp c2 phải khác nhau, vì vậy bạn phải đưa ra các hàm 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 kèo bóng đá cúp c2kèo bóng đá cúp c2 cuộc gọi Tham khảo cùng một tệp đối tượng, tệp chỉ được tải một lần mỗi phiên. Để dỡ và tải lại tệp (có lẽ trong quá trình phát triển), hãy bắt đầu một phiên mới.

quá tải

PostgreSQLcho phép chức kèo bóng đá cúp c2quá tải; Đó là, cùng một tên có thể được sử dụng cho một số chức kèo bóng đá cúp c2 khác nhau miễn là chúng có các loại đối số đầu vào riêng biệt. Cho dù bạn có sử dụng nó hay không, khả kèo bóng đá cúp c2 này đòi hỏi các biện pháp phòng ngừa bảo mật khi gọi các chức kèo bóng đá cúp c2 trong cơ sở dữ liệu nơi một số người dùng không tin tưởng người dùng khác; nhìn thấyPhần 10.3.

35064_35136INPUTkèo bóng đá cúp c2 loại đối số, bỏ qua bất kỳouttham số. Do đó, ví dụ như những tuyên bố xung đột:

Tạo chức kèo bóng đá cúp c2 foo (int) ...
Tạo chức kèo bóng đá cúp c2 foo (int, out text) ...

Các chức kèo bóng đá cúp c2 có danh sách loại đối số khác nhau sẽ không được coi là xung đột tại thời điểm tạo, nhưng nếu mặc định được cung cấp, chúng có thể xung đột được sử dụng. Ví dụ, xem xét

Tạo chức kèo bóng đá cúp c2 foo (int) ...
Tạo hàm foo (int, int mặc định 42) ...

Một cuộc gọifoo (10)sẽ thất bại do sự mơ hồ về chức kèo bóng đá cúp c2 nào nên được gọi.

Ghi chú

toàn bộSQLLoại cú pháp được phép khai báo đối số của hàm và giá trị trả về. Tuy nhiên, bộ sửa đổi loại dấu ngoặc đơn (ví dụ: trường chính xác cho loạiSố) bị loại bỏ bởiTạo chức kèo bóng đá cúp c2. Do đó, ví dụTạo chức kèo bóng đá cúp c2 foo (varchar (10)) ...hoàn toàn giống nhưkèo bóng đá cúp c2 hàm foo (varchar) ....

Khi thay thế chức kèo bóng đá cúp c2 hiện có bằngTạo hoặc thay thế chức kèo bóng đá cúp c236509_37022

Nếu một hàm được khai báonghiêm ngặtvới AVariadicĐối số, kiểm tra nghiêm ngặt kèo bóng đá cúp c2 kiểm tra rằng mảng variadicNói chungkhông phải là null. Hàm vẫn sẽ được gọi nếu mảng có kèo bóng đá cúp c2 phần tử null.

Ví dụ

Thêm hai số nguyên bằng hàm SQL:

Tạo chức kèo bóng đá cúp c2 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;

Tăng số nguyên, sử dụng tên đối số, trongPL/PGSQL:

Tạo hoặc thay thế chức kèo bóng đá cúp c2 tăng (I Integer) Trả về số nguyên dưới dạng $$
        BẮT ĐẦU
                Trả về i + 1;
        KẾT THÚC;
$$ ngôn ngữ plpgsql;

37960_38016

Tạo chức kèo bóng đá cúp c2 DUP (trong int, out f1 int, out f2 văn bản)
    Như $$ Chọn $ 1, diễn viên ($ 1 dưới dạng văn bản) || 'là văn bản' $$
    Ngôn ngữ SQL;

Chọn * từ DUP (42);

Bạn có thể làm điều tương tự hơn với một loại tổng hợp được đặt tên rõ ràng:

Tạo loại DUP_RESULT AS (F1 Int, F2 Text);

Tạo chức kèo bóng đá cúp c2 DUP (int) Trả về DUP_RESULT
    Như $$ Chọn $ 1, diễn viên ($ 1 dưới dạng văn bản) || 'là văn bản' $$
    Ngôn ngữ SQL;

Chọn * từ DUP (42);

Một cách khác để trả về nhiều cột là sử dụngBảngchức kèo bóng đá cúp c2:

38668_38824

Tuy nhiên, ABảngHàm khác với kèo bóng đá cúp c2 ví dụ trước, vì nó thực sự trả về Asetcủa bản ghi, không chỉ một bản ghi.

Viếtbảo mật xác địnhChức kèo bóng đá cúp c2 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 sở hữu nó, cần phải chăm sóc để đảm bảo rằng chức kèo bóng đá cúp c2 không thể bị sử dụng sai. Cho bảo mật,search_pathnên được đặt để loại trừ bất kỳ lược đồ nào có thể ghi bởi người dùng không tin cậy. Điều này ngăn người dùng độc hại tạo các đối tượng (ví dụ: bảng, chức kèo bóng đá cúp c2 và toán tử), che giấu các đối tượng dự định được sử dụng bởi chức kèo bóng đá cúp c2. Đặc biệt quan trọng trong vấn đề này là lược đồ bàn tạm thời, được tìm kiếm đầu tiên theo mặc định và thường có thể ghi được bởi bất kỳ ai. Một sự sắp xếp an toàn có thể có được bằng cách buộc lược đồ tạm thời được tìm kiếm cuối cùng. Để làm điều này, viếtPG_TEMPlà mục cuối cùng trongsearch_path. Hàm này minh họa cách sử dụng an toàn:

40265_40642

Ý định của chức kèo bóng đá cúp c2 này là truy cập vào bảngadmin.pwds. Nhưng không cósetmệnh đề hoặc vớisetChỉ đề cập đến điều khoảnadmin, Hàm có thể bị lật đổ bằng cách kèo bóng đá cúp c2 một bảng tạm thời có tênPWDS.

trướcPostgreSQLPhiên bản 8.3,setmệnh đề không khả dụng và vì vậy kèo bóng đá cúp c2 hàm cũ hơn có thể chứa logic khá phức tạp để lưu, đặt và khôi phụcsearch_path. Thesetmệnh đề dễ sử dụng hơn nhiều cho mục đích này.

Một điểm khác cần lưu ý là theo mặc định, đặc quyền thực thi được cấp chocông khaiĐối với các chức kèo bóng đá cúp c2 mới được tạo (xemGrantĐể biết thêm thông tin). Thường thì bạn sẽ muốn hạn chế sử dụng chức kèo bóng đá cúp c2 xác định bảo mật cho một số người dùng. Để làm điều đó, bạn phải thu hồi mặc địnhcông khaiĐặc quyền và sau đó cấp đặc quyền thực thi một cách chọn lọc. Để tránh có một cửa sổ nơi có thể truy cập chức kèo bóng đá cúp c2 mới, hãy tạo nó và đặt các đặc quyền trong một giao dịch. Ví dụ:

Bắt đầu;
Tạo chức kèo bóng đá cúp c2 kiểm tra_password (văn bản uname, pass văn bản) ... bảo mật xác định;
Thu hồi tất cả trên chức kèo bóng đá cúp c2 kiểm tra_password (văn bản uname, pass văn bản) từ công khai;
Cấp thực thi trên chức kèo bóng đá cúp c2 kiểm tra_password (văn bản uname, truyền văn bản) cho quản trị viên;
LÀM;

Tương thích

ATạo chức kèo bóng đá cúp c2Lệnh được xác định trong tiêu chuẩn SQL. ThePostgreSQLPhiên bản tương tự nhưng không tương thích hoàn toàn. kèo bóng đá cúp c2 thuộc tính không thể di động, không phải là kèo bóng đá cúp c2 ngôn ngữ có sẵn khác nhau.

42659_42713argmodecó thể được viết trước hoặc sauargname. Nhưng chỉ theo cách đầu tiên là tuân thủ tiêu chuẩn.

Đối với mặc định tham số, tiêu chuẩn SQL chỉ chỉ định cú pháp vớiMặc địnhTừ khóa. Cú pháp với=được sử dụng trong T-SQL và Firebird.