Tạo chức kèo chấp bóng đá hôm nay - Xác định chức kèo chấp bóng đá hôm nay mới
Tạo [hoặc thay thế] chức kèo chấp bóng đá hôm naytên
([argmode
] [argname
]argtype
[Mặc định | =default_expr
] [, ...]])) [ReturnRettype
| Trả về bảng (Cột_name
Cột_Type
11158_11186Lang_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
| ỦNG HỘSupport_Function
| BỘCấu hình_parameter
togiá trị
| =giá trị
| Từ hiện tại | BẰNG 'Định nghĩa
' | BẰNG 'obj_file
','link_symbol
' |sql_body
...
Tạo chức kèo chấp bóng đá hôm nay
Xác định chức kèo chấp bóng đá hôm nay mới.Tạo hoặc thay thế chức kèo chấp bóng đá hôm nay
sẽ tạo chức kèo chấp bóng đá hôm nay mới hoặc thay thế một định nghĩa hiện có. Để có thể xác định chức kèo chấp bóng đá hôm nay, người dùng phải cósử dụng
12636_12665
12675_13037quá tải).
Để thay thế định nghĩa hiện tại của kèo chấp bóng đá hôm nay hàm hiện có, sử dụngTạo hoặc thay thế chức kèo chấp bóng đá hôm nay
. 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 chấp bóng đá hôm nay ra một hàm mới, khác biệt). Cũng,Tạo hoặc thay thế chức kèo chấp bóng đá hôm nay
sẽ 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 chấp bóng đá hôm nay. (Khi sử dụngOUT
tham số, điều đó có nghĩa là bạn không thể thay đổi các loại của bất kỳ nàoout
tham số ngoại trừ bằng cách bỏ chức kèo chấp bóng đá hôm nay.)
KhiTạo hoặc thay thế chức kèo chấp bóng đá hôm nay
được sử dụng để thay thế một chức kèo chấp bóng đá hôm nay hiện có, quyền sở hữu và quyền của chức kèo chấp bóng đá hôm nay không thay đổi. Tất cả các thuộc tính chức kèo chấp bóng đá hôm nay khác được gán các giá trị được chỉ định hoặc ngụ ý trong lệnh. Bạn phải sở hữu chức kèo chấp bóng đá hôm nay để thay thế nó (điều này bao gồm là thành viên của vai trò sở hữu).
Nếu bạn thả và sau đó kèo chấp bóng đá hôm nay lại một hàm, hàm mới không giống với thực thể cũ; Bạn sẽ phải bỏ các quy tắc, quan điểm, kích hoạt hiện có, v.v ... đề cập đến hàm cũ. Sử dụngTạo hoặc thay thế chức kèo chấp bóng đá hôm nay
Để thay đổi định nghĩa hàm mà không phá vỡ các đối tượng đề cập đến hàm. Cũng,Chức kèo chấp bóng đá hôm nay thay đổi
có thể được sử dụng để thay đổi hầu hết các thuộc tính phụ trợ của kèo chấp bóng đá hôm nay hàm hiện có.
Người dùng tạo chức kèo chấp bóng đá hôm nay trở thành chủ sở hữu của chức kèo chấp bóng đá hôm nay.
Để có thể tạo chức kèo chấp bóng đá hôm nay, bạn phải cósử dụng
Đặc quyền về các loại đối số và loại trả về.
Tham khảoPhần 38.3Để biết thêm thông tin về chức kèo chấp bóng đá hôm nay viết.
tên
Tên (tùy chọn Lược đồ theo trình độ) của hàm để kèo chấp bóng đá hôm nay.
argmode
chế độ của kèo chấp bóng đá hôm nay đối số:in
, out
, Inout
hoặcVariadic
. Nếu bị bỏ qua, mặc định làin
. Chỉ kèo chấp bóng đá hôm nayout
Đối số có thể theo dõiVariadic
kèo chấp bóng đá hôm nay. Cũng,out
vàInout
Đối số không thể được sử dụng cùng vớiBẢNG TRẢ LẠI
ký hiệu.
argname
Tên của một đối số. Một số ngôn ngữ (bao gồm SQL và PL/PGSQL) cho phép bạn sử dụng tên trong phần thân hàm. Đối với các ngôn ngữ khác, tên của một đối số đầu vào chỉ là tài liệu bổ sung, cho đến khi chức kèo chấp bóng đá hôm nay được quan tâm; Nhưng bạn có thể sử dụng tên đối số đầu vào khi gọi một hàm để cải thiện khả kèo chấp bóng đá hôm nay đọc (xemPhần 4.3). Trong mọi trường hợp, tên của kèo chấp bóng đá hôm nay đố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 các đối số của hàm (tùy chọn Lược đồ theo trình độ), nếu có. Các loại đối số có thể là các 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ỉ địnhPseudo-Typeschẳng hạn nhưCSTRING
. Các 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 các loại dữ liệu SQL thông thường.
Loại cột được tham chiếu bằng cách viết
. Sử dụng tính kèo chấp bóng đá hôm nay này đôi khi có thể giúp tạo ra một chức kèo chấp bóng đá hôm nay độc lập với các thay đổi đối với định nghĩa của bảng.Table_Name
.Cột_name
%loại
default_expr
kèo chấp bóng đá hôm nay 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ồmInout
) Các tham số có thể có giá trị mặc định. Tất cả các tham số đầu vào theo kèo chấp bóng đá hôm nay tham số có giá trị mặc định cũng phải có giá trị mặc định.
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ỉ địnhPseudo-Typeschẳng hạn nhưcString
. Nếu hàm không được phép trả về kèo chấp bóng đá hôm nay giá trị, chỉ địnhvoid
là loại trả về.
Khi cóout
hoặcInout
tham số,return
Điều khoản có thể được bỏ qua. Nếu có, nó phải đồng ý với loại kết quả được ngụ ý bởi các tham số đầu ra:Record
Nếu có nhiều tham số đầu ra hoặc cùng loại với tham số đầu ra đơn.
Thesetof
Công cụ sửa đổi cho biết rằng hàm sẽ trả về kèo chấp bóng đá hôm nay tập hợp các mục, thay vì kèo chấp bóng đá hôm nay mục.
Loại cột được tham chiếu bằng cách viết
.Table_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à kèo chấp bóng đá hôm nay cách khác để tuyên bố kèo chấp bóng đá hôm nay cái tênOut
tham số, ngoại trừBẢNG TRẢ LẠI
cũng ngụ ýreturn setof
.
20004_20017
Kiểu dữ liệu của cột đầu ra trongBảng trả về
Cú 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
. Mặc định làSQL
nếusql_body
được chỉ định. Kèm theo tên trong các 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 chấp bóng đá hôm nay 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ấykèo chấp bóng đá hôm nay biến đổi. Việc triển khai ngôn ngữ thủ tục thường có kiến thức mã hóa cứng về các 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ý kèo chấp bóng đá hôm nay loại và không có biến đổi nào được cung cấp, nó sẽ quay trở lại hành vi mặc định để chuyển đổi các loại dữ liệu, nhưng điều này phụ thuộc vào việc thực hiện.
Window
Window
Cho biết chức kèo chấp bóng đá hôm nay 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 chấp bóng đá hôm nay được viết trong C. TheWindow
Không thể thay đổi thuộc tính khi thay thế định nghĩa hàm hiện có.
bất biến
ổn định
Dislatile
22274_22418Disrily
là giả định mặc định.
bất biến
chỉ ra rằng hàm không thể sửa đổi cơ sở dữ liệu và luôn trả về cùng một kết quả khi được đưa ra cùng một giá trị đối số; Đó 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 trực tiếp trong danh sách đối số của nó. Nếu tùy chọn này được đưa ra, bất kỳ cuộc gọi nào của hàm với các đối số liên tục có thể được thay thế ngay lập tức bằng giá trị chức kèo chấp bóng đá hôm nay.
ổn định
Cho biết rằng hàm không thể sửa đổi cơ sở dữ liệu và trong một lần quét bảng, nó sẽ liên tục trả về cùng một kết quả cho cùng một giá trị đối số, nhưng kết quả của nó có thể thay đổi trên các câu lệnh SQL. Đây là lựa chọn phù hợp cho các chức kèo chấp bóng đá hôm nay có kết quả phụ thuộc vào tra cứu cơ sở dữ liệu, các biến tham số (như múi giờ hiện tại), v.v. (nó không phù hợp chosau
Trình kích hoạt muốn truy vấn các hàng được sửa đổi bởi lệnh hiện tại.) Cũng lưu ý rằngcurrent_timestamp
Gia đình chức kèo chấp bóng đá hôm nay đủ điều kiện ổn định, vì giá trị của chúng không thay đổi trong giao dịch.
Disrile
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 chấp bóng đá hôm nay 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 chấp bóng đá hôm nay 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
Leakproof
24528_24907Security_Barrier
24950_25616kèo chấp bóng đá hôm nay chế độ xemvàPhần 41.525838_25887
đượ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 chấp bóng đá hôm nay 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 null
26515_26521nghiêm ngặt
chỉ 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ó các đối số null; thay vào đó là kèo chấp bóng đá hôm nay 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 xác định
Bảo mật Invoker
Cho biết rằng chức kèo chấp bóng đá hôm nay 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 định
Chỉ định rằng chức kèo chấp bóng đá hôm nay sẽ được thực thi với các đặc quyền của người dùng sở hữu nó. Để biết thông tin về cách viếtbảo mật xác định
chức kèo chấp bóng đá hôm nay một cách an toàn,Xem bên dưới.
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 chấp bóng đá hôm nay này áp dụng cho tất cả các chức kèo chấp bóng đá hôm nay không chỉ bên ngoài.
song song
song song không an toàn
chỉ ra rằng chức kèo chấp bóng đá hôm nay 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 hiện nối tiếp. Đây là mặc định.Hạn chế song song
Cho biết chức kèo chấp bóng đá hôm nay 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 song
28365_28448
28464_28705SetVal
). Chúng nên được dán nhãn là giới hạn song song nếu chúng truy cập các bảng tạm thời, trạng thái kết nối máy khách, con trỏ, câu lệnh được chuẩn bị hoặc trạng thái địa phương phụ trợ linh tinh mà hệ thống không thể đồng bộ hóa ở chế độ song song (ví dụ:setSeed
29008_29662không an toàn
, là mặc định.
chi phí
exec_cost
29897_29983CPU_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 chấp bóng đá hôm nay ngôn ngữ C và nội bộ và 100 đơn vị cho các chức kèo chấp bóng đá hôm nay 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 chấp bóng đá hôm nay thường xuyên hơn mức cần thiết.
hàng
result_rows
30554_30769
Hỗ trợ
Support_Function
Tên (Tùy chọn Lược đồ theo trình độ) của AHỗ trợ kế hoạchĐể sử dụng cho chức kèo chấp bóng đá hôm nay này. Nhìn thấyPhần 38.11Để biết chi tiết. Bạn phải là siêu nhân để sử dụng tùy chọn này.
Cấu hình_parameter
giá trị
Theset
mệnh đề gây ra tham số cấu hình được chỉ định được đặt thành giá trị được chỉ định khi nhập hàm 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ại
Lưu giá trị của tham số hiện tại khiTạo chức kèo chấp bóng đá hôm nay
được thực thi dưới dạng giá trị được áp dụng khi nhập hàm.
Nếu Aset
mệnh đề được gắn vào kèo chấp bóng đá hôm nay hàm, sau đó các hiệu ứng của AĐặt cục bộ
Lệnh được thực thi bên trong hàm cho cùng một biến bị giới hạn trong hàm: Giá trị trước của tham số cấu hình vẫn được khôi phục khi thoát chức kèo chấp bóng đá hôm nay. Tuy nhiên, một bình thườngset
lệnh (không cócục bộ
) ghi đèset
mệ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 chấp bóng đá hôm nay, trừ khi giao dịch hiện tại được quay lại.
xemsetvàChương 20Để biết thêm thông tin về tên và giá trị tham số được phép.
Định nghĩa
kèo chấp bóng đá hôm nay hằng số chuỗi xác định hàm; Ý nghĩa phụ thuộc vào ngôn ngữ. Nó có thể là kèo chấp bóng đá hôm nay tên hàm bên trong, đường dẫn đến kèo chấp bóng đá hôm nay 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ủaAS
mệnh đề được sử dụng cho các 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_file
34131_34239Tải
Lệnh. Chuỗilink_symbol
là biểu tượng 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 chấp bóng đá hôm nay phải khác nhau, vì vậy bạn phải đưa ra các hàm C bị quá tải 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 chấp bóng đá hôm nay
Các cuộc gọi Tham khảo cùng kèo chấp bóng đá hôm nay tệp đối tượng, tệp chỉ được tải kèo chấp bóng đá hôm nay 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 kèo chấp bóng đá hôm nay phiên mới.
sql_body
Cơ thể của ANgôn ngữ SQL
Hàm. Đây có thể là kèo chấp bóng đá hôm nay câu lệnh duy nhất
returnBiểu thức
hoặc kèo chấp bóng đá hôm nay khối
Bắt đầu nguyên tửcâu lệnh
;câu lệnh
; ...câu lệnh
; KẾT THÚC
Điều này tương tự như viết văn bản của cơ thể hàm dưới dạng hằng số chuỗi (xemĐịnh nghĩa
ở trên), nhưng có kèo chấp bóng đá hôm nay số khác biệt: hình thức này chỉ hoạt động choNgôn ngữ SQL
, Hằng số chuỗi hoạt động cho tất cả các ngôn ngữ. Biểu mẫu này được phân tích cú pháp ở thời điểm định nghĩa chức kèo chấp bóng đá hôm nay, dạng hằng số chuỗi được phân tích cú pháp vào thời điểm thực thi; Do đó, hình thức này không thể hỗ trợ các loại đối số đa hình và các cấu trúc khác không thể giải quyết được ở thời điểm định nghĩa chức kèo chấp bóng đá hôm nay. Hình thức này theo dõi các phụ thuộc giữa hàm và các đối tượng được sử dụng trong cơ thể chức kèo chấp bóng đá hôm nay, vì vậyDrop ... Cascade
sẽ hoạt động chính xác, trong khi biểu mẫu sử dụng chữ viết có thể để lại các chức kèo chấp bóng đá hôm nay lơ lửng. Cuối cùng, biểu mẫu này tương thích hơn với tiêu chuẩn SQL và các triển khai SQL khác.
PostgreSQLcho phép chức kèo chấp bóng đá hôm nayquá tải; Đó là, cùng một tên có thể được sử dụng cho một số chức kèo chấp bóng đá hôm nay 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 chấp bóng đá hôm nay 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 chấp bóng đá hôm nay 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.
Hai chức kèo chấp bóng đá hôm nay được coi là giống nhau nếu chúng có cùng tên vàĐầu vàoCác loại đối số, bỏ qua bất kỳout
tham số. Do đó, ví dụ như những tuyên bố xung đột:
Tạo chức kèo chấp bóng đá hôm nay foo (int) ... Tạo chức kèo chấp bóng đá hôm nay foo (int, out text) ...
Các chức kèo chấp bóng đá hôm nay 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 chấp bóng đá hôm nay foo (int) ... Tạo hàm foo (int, int mặc định 42) ...
kèo chấp bóng đá hôm nay cuộc gọifoo (10)
sẽ thất bại do sự mơ hồ về chức kèo chấp bóng đá hôm nay nào nên được gọi.
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 chấp bóng đá hôm nay
. Do đó, ví dụkèo chấp bóng đá hôm nay hàm foo (varchar (10)) ...
hoàn toàn giống nhưTạo chức kèo chấp bóng đá hôm nay foo (varchar) ...
.
Khi thay thế chức kèo chấp bóng đá hôm nay hiện có bằngTạo hoặc thay thế chức kèo chấp bóng đá hôm nay
38549_39062
Nếu kèo chấp bóng đá hôm nay hàm được khai báonghiêm ngặt
với A39163_39173
Đối số, kiểm tra nghiêm ngặt các 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ó các phần tử null.
39469_39510
Tạo chức kèo chấp bóng đá hôm nay 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;
cùng kèo chấp bóng đá hôm nay hàm được viết theo kiểu hình thành SQL hơn, sử dụng tên đối số và thân không được trích xuất:
kèo chấp bóng đá hôm nay hàm Thêm (A Integer, B Integer) Trả về Integer Ngôn ngữ SQL Bất biến Trả về null trên đầu vào null Trả về a + b;
Tăng số nguyên, sử dụng tên đối số, trongPL/PGSQL:
Tạo hoặc thay thế chức kèo chấp bóng đá hôm nay 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;
Trả về bản ghi chứa nhiều tham số đầu ra:
Tạo chức kèo chấp bóng đá hôm nay 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);
40547_40630
Tạo loại DUP_RESULT là (F1 int, F2 văn bản); Tạo chức kèo chấp bóng đá hôm nay 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);
kèo chấp bóng đá hôm nay cách khác để trả về nhiều cột là sử dụngBảng
chức kèo chấp bóng đá hôm nay:
40999_41155
Tuy nhiên, ABảng
Hàm khác với các ví dụ trước, bởi vì nó thực sự trả về Asetcủa bản ghi, không chỉ kèo chấp bóng đá hôm nay bản ghi.
Bảo mật xác định
Chức kèo chấp bóng đá hôm nay an toànvì abảo mật xác định
Hà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 quan tâm để đảm bảo rằng chức kèo chấp bóng đá hôm nay 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 chấp bóng đá hôm nay và toán tử), che giấu các đối tượng dự định được sử dụng bởi chức kèo chấp bóng đá hôm nay. Đặ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_TEMP
là 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 kèo chấp bóng đá hôm nay Check_Password (văn bản Uname, Pass Text) Trả lại boolean là $$ Tuyên bố đã thông qua Boolean; BẮT ĐẦU Chọn (PWD = $ 2) Từ NKT Trong đó tên người dùng = $ 1; Trở lại qua; KẾT THÚC; $$ Ngôn ngữ plpgsql Bảo mật xác định - Đặt một search_path an toàn: lược đồ đáng tin cậy, sau đó 'pg_temp'. Đặt search_path = admin, pg_temp;
Ý định của chức kèo chấp bóng đá hôm nay này là truy cập bảngadmin.pwds
. Nhưng không cóset
mệnh đề hoặc với Aset
Chỉ đề cập đến điều khoảnadmin
, hàm có thể bị lật đổ bằng cách kèo chấp bóng đá hôm nay một bảng tạm thời có tênPWDS
.
Nếu hàm xác định bảo mật có ý định kèo chấp bóng đá hôm nay vai trò và nếu nó đang chạy như một người không giám sát,createrole_elf_grant
cũng nên được đặt thành kèo chấp bóng đá hôm nay giá trị đã biết bằng cách sử dụngset
mệnh đề.
kèo chấp bóng đá hôm nay đ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 chấp bóng đá hôm nay mới được tạo (xemPhần 5.7Để 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 chấp bóng đá hôm nay 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 chấp bóng đá hôm nay mới, hãy tạo nó và đặt các đặc quyền trong một giao dịch. Ví dụ:
44332_44575
ATạo chức kèo chấp bóng đá hôm nay
Lệnh được xác định trong tiêu chuẩn SQL. ThePostgreSQLThực hiện có thể được sử dụng theo cách tương thích nhưng có nhiều tiện ích mở rộng. Ngược lại, tiêu chuẩn SQL chỉ định một số tính kèo chấp bóng đá hôm nay tùy chọn không được triển khai trongPostgreSQL.
Sau đây là các vấn đề tương thích quan trọng:
hoặc thay thế
là tiện ích mở rộng PostgreSql.
Để tương thích với kèo chấp bóng đá hôm nay số hệ thống cơ sở dữ liệu khác,argmode
có 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 định
Từ khóa. Cú pháp với=
được sử dụng trong T-SQL và Firebird.
Thesetof
Công cụ sửa đổi là tiện ích mở rộng PostgreSql.
chỉSQL
được chuẩn hóa như kèo chấp bóng đá hôm nay ngôn ngữ.
Tất cả các thuộc tính khác ngoại trừđược gọi là đầu vào null
vàTrả về NULL trên đầu vào null
không được tiêu chuẩn hóa.
Đối với cơ thể củaNgôn ngữ SQL
Hàm, tiêu chuẩn SQL chỉ chỉ địnhsql_body
Mẫu.
đơn giảnNgôn ngữ SQL
46663_46928
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm của bạn với tính kèo chấp bóng đá hôm nay cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.