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ạo chức tỷ lệ kèo bóng đá tối nay

Tạo chức tỷ lệ kèo bóng đá tối nay - Xác định chức tỷ lệ kèo bóng đá tối nay mới

Synopsis

Tạo [hoặc thay thế] chức tỷ lệ kèo bóng đá tối naytên([argmode10798_10805argname]argtype[Mặc định | =10953_10967] [, ...]]))
    [ReturnRettype| Trả về bảng (Cột_name Cột_Type[, ...])]]]
   NGÔN NGỮLang_Name| Biến đổi cho loạitype_name11343_11632exec_cost| Hàngresult_rows| ỦNG HỘSupport_Function| 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'
    |sql_body...

12356_12369

Tạo chức tỷ lệ kèo bóng đá tối nayXác định chức tỷ lệ kèo bóng đá tối nay mới.Tạo hoặc thay thế chức tỷ lệ kèo bóng đá tối nay12504_12633sử dụngĐặc quyền về ngôn ngữ.

12704_13066quá 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 tỷ lệ kèo bóng đá tối 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ẽ tỷ lệ kèo bóng đá tối nay ra một hàm mới, khác biệt). Cũng,Tạo hoặc thay thế chức tỷ lệ kèo bóng đá tối naysẽ 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 tỷ lệ kèo bóng đá tối nay. (Khi sử dụngouttham số, điều đó có nghĩa là bạn không thể thay đổi tỷ lệ kèo bóng đá tối nay loại của bất kỳ nàoouttham số ngoại trừ bằng cách bỏ chức tỷ lệ kèo bóng đá tối nay.)

KhiTạo hoặc thay thế chức tỷ lệ kèo bóng đá tối nayđược sử dụng để thay thế một chức tỷ lệ kèo bóng đá tối nay hiện có, quyền sở hữu và quyền của chức tỷ lệ kèo bóng đá tối nay không thay đổi. Tất cả các thuộc tính chức tỷ lệ kèo bóng đá tối 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 tỷ lệ kèo bóng đá tối 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 đó tỷ lệ kèo bóng đá tối 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 tỷ lệ kèo bóng đá tối nayĐể thay đổi định nghĩa hàm mà không phá vỡ tỷ lệ kèo bóng đá tối nay đối tượng đề cập đến hàm. Cũng,Chức tỷ lệ kèo bóng đá tối nay thay đổiCó thể được sử dụng để thay đổi hầu hết tỷ lệ kèo bóng đá tối nay thuộc tính phụ trợ của một hàm hiện có.

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

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

Tham khảoPhần 36.3Để biết thêm thông tin về chức tỷ lệ kèo bóng đá tối nay viết.

tham số

tên

Tên (tùy chọn Lược đồ theo trình độ) của hàm để tỷ lệ kèo bóng đá tối nay.

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ớiTrở về bảngký 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 tỷ lệ kèo bóng đá tối 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ả tỷ lệ kèo bóng đá tối nay đọc (xemPhầ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

(tỷ lệ kèo bóng đá tối nay) loại dữ liệu của tỷ lệ kèo bóng đá tối nay đối số của hàm (tùy chọn theo trình độ lược đồ), nếu có. tỷ lệ kèo bóng đá tối nay loại đối số có thể là tỷ lệ kèo bóng đá tối nay 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. tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay này đôi khi có thể giúp tạo ra một chức tỷ lệ kèo bóng đá tối nay độ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ồmInout) tỷ lệ kèo bóng đá tối nay tham số có thể có giá trị mặc định. Tất cả tỷ lệ kèo bóng đá tối nay tham số đầu vào theo một tham số có giá trị mặc định cũng phải có giá trị mặc định.

Rettype

Kiểu 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-TypesHồichẳng hạn nhưcString18666_18729voidlà loại trả về.

Khi cóouthoặcInouttham 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 tỷ lệ kèo bóng đá tối nay tham số đầu ra:19060_19068Nếu có nhiều tham số đầu ra hoặc cùng loại với tham số đầu ra đơn.

Thesetof19219_19313

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

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àSQLnếusql_bodyđược chỉ định. Kèm theo tên trong tỷ lệ kèo bóng đá tối nay 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[, ...]

Danh sách chuyển đổi cuộc gọi cho chức tỷ lệ kèo bóng đá tối 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ấyPostgreSQL: Tài liệu: 17: Tạo21257_21603

Window

Windowcho biết hàm 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 tỷ lệ kèo bóng đá tối nay đượ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ó.

bất biến
Ổn định
Disrily

Những thuộc tính này thông báo cho Trình tỷ lệ kèo bóng đá tối nay ư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,Disrilylà giả định mặc định.

Immutablechỉ 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 đư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 tỷ lệ kèo bóng đá tối nay.

ổn địnhchỉ ra 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 tỷ lệ kèo bóng đá tối 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 chosauTrình kích hoạt muốn truy vấn tỷ lệ kèo bóng đá tối nay hàng được sửa đổi bởi lệnh hiện tại.) Cũng lưu ý rằngcurrent_timestampGia đình chức tỷ lệ kèo bóng đá tối nay đủ điều kiện ổn định, vì giá trị của chúng không thay đổi trong giao dịch.

chỉ ra rằng 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 tỷ lệ kèo bóng đá tối 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 tỷ lệ kèo bóng đá tối 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 36.7.

Leakproof

Leakproofchỉ ra rằng chức tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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: 17: kèoPhần 39.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 null26255_26473

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ó tỷ lệ kèo bóng đá tối nay đố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 xác định

Bảo mật Invokercho biết rằng chức tỷ lệ kèo bóng đá tối 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 địnhChỉ định rằng chức tỷ lệ kèo bóng đá tối 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 địnhchức tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay này áp dụng cho tất cả các chức tỷ lệ kèo bóng đá tối nay không chỉ bên ngoài.

song song

song song không an toànCho biết rằng hàm không thể được thực thi ở chế độ song song; Sự hiện diện của một chức tỷ lệ kèo bóng đá tối nay như vậy trong một câu lệnh SQL buộc một kế hoạch thực hiện nối tiếp. Đây là mặc định.Hạn chế song songCho biết chức tỷ lệ kèo bóng đá tối nay có thể được thực thi ở chế độ song song, nhưng chỉ trong quy trình đầu nhóm song song.An toàn song songCho biết chức tỷ lệ kèo bóng đá tối nay an toàn để chạy ở chế độ song song mà không bị hạn chế, bao gồm các quy trình của công nhân song song.

28519_28723Currval) hoặc thực hiện tỷ lệ kèo bóng đá tối nay thay đổi liên tục đối với cài đặt. Chúng nên được dán nhãn hạn chế song song nếu chúng truy cập 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ụ:SetSeedKhông thể được thực thi ngoài người lãnh đạo nhóm vì một thay đổi được thực hiện bởi một quy trình khác sẽ không được phản ánh trong người dẫn đầu). 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay nào khác. Nếu nghi ngờ, các chức tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay ngôn ngữ C và nội bộ và 100 đơn vị cho các chức tỷ lệ kèo bóng đá tối 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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.

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 tỷ lệ kèo bóng đá tối nay này. Nhìn thấyPhần 36.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ị

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ại31802_31859Tạo chức tỷ lệ kèo bóng đá tối nayđược thực thi dưới dạng giá trị được áp dụng khi nhập hàm.

Nếu ASETmệnh đề được gắn vào một hàm, sau đó tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay. Tuy nhiên, một bình thườngsetlệ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 tỷ lệ kèo bóng đá tối nay, 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

Một 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.433486_33692

obj_file, link_symbol

Hình thức này củaASmệnh đề được sử dụng cho tỷ lệ kèo bóng đá tối nay 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_symbol34453_34826

Khi lặp lạiTạo chức tỷ lệ kèo bóng đá tối naytỷ lệ kèo bóng đá tối nay 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.

sql_body

Cơ thể của ANgôn ngữ SQLHàm. Đây có thể là một câu lệnh duy nhất

returnBiểu thức

hoặc một 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ó một số khác biệt: hình thức này chỉ hoạt động choNgôn ngữ SQL35930_36316Drop ... Cascadesẽ 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 tỷ lệ kèo bóng đá tối 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.

quá tải

PostgreSQLcho phép chức tỷ lệ kèo bóng đá tối nayquá tải; Đó là, cùng một tên có thể được sử dụng cho một số chức tỷ lệ kèo bóng đá tối 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ả tỷ lệ kèo bóng đá tối 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 tỷ lệ kèo bóng đá tối 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 tỷ lệ kèo bóng đá tối nay được coi là giống nhau nếu chúng có cùng tên vàINPUTtỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay foo (int) ...
Tạo chức tỷ lệ kèo bóng đá tối nay foo (int, out text) ...

Các chức tỷ lệ kèo bóng đá tối 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 sáng 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay. Do đó, ví dụtỷ lệ kèo bóng đá tối nay hàm foo (varchar (10)) ...hoàn toàn giống nhưtỷ lệ kèo bóng đá tối nay hàm foo (varchar) ....

Khi thay thế chức tỷ lệ kèo bóng đá tối nay hiện có bằngTạo hoặc thay thế chức tỷ lệ kèo bóng đá tối nay, Có những hạn chế về việc thay đổi tên tham số. Bạn không thể thay đổi tên đã được gán cho bất kỳ tham số đầu vào nào (mặc dù bạn có thể thêm tên vào tỷ lệ kèo bóng đá tối nay tham số không có trước đó). Nếu có nhiều hơn một tham số đầu ra, bạn không thể thay đổi tên của tỷ lệ kèo bóng đá tối nay tham số đầu ra, vì điều đó sẽ thay đổi tên cột của loại tổng hợp ẩn danh mô tả kết quả của hàm. Những hạn chế này được thực hiện để đảm bảo rằng tỷ lệ kèo bóng đá tối nay cuộc gọi hiện tại của hàm không ngừng hoạt động khi nó được thay thế.

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

ví dụ

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

39600_39745

39757_39859

tỷ lệ kèo bóng đá tối 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 tỷ lệ kèo bóng đá tối 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 tỷ lệ kèo bóng đá tối 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);

Bạn có thể làm điều tương tự hơn một cách rõ ràng 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 văn bản);

Tạo chức tỷ lệ kèo bóng đá tối 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);

Một cách khác để trả về nhiều cột là sử dụngBảngchức tỷ lệ kèo bóng đá tối nay:

41054_41210

Tuy nhiên, ABảngHàm khác với tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 quan tâm để đảm bảo rằng chức tỷ lệ kèo bóng đá tối nay không thể bị sử dụng sai. Cho bảo mật,search_path42009_42475PG_TEMPlà mục cuối cùng trongsearch_path. Hàm này minh họa cách sử dụng an toàn:

42722_43099

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

43472_43573createrole_elf_grant43621_43670setmệnh đề.

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 tỷ lệ kèo bóng đá tối nay mới được tạo (xemsoi tỷ lệ kèo bóng đá tối nayĐể biết thêm thông tin). Thường thì bạn sẽ muốn hạn chế sử dụng chức tỷ lệ kèo bóng đá tối 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nayLệ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 tỷ lệ kèo bóng đá tối nay tùy chọn không được triển khai trongPostgreSQL.

Sau đây là tỷ lệ kèo bóng đá tối nay 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 một số hệ thống cơ sở dữ liệu khác,argmodecó 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.

  • ThesetofCông cụ sửa đổi là tiện ích mở rộng PostgreSql.

  • chỉSQLđược chuẩn hóa như một ngôn ngữ.

  • Tất cả tỷ lệ kèo bóng đá tối nay thuộc tính khác ngoại trừđược gọi là đầu vào nullTrả về NULL trên đầu vào nullkhông được chuẩn hóa.

  • cho thân máyNgôn ngữ SQLHàm, tiêu chuẩn SQL chỉ chỉ địnhsql_bodyMẫu.

đơn giảnNgôn ngữ SQLCác chức tỷ lệ kèo bóng đá tối nay có thể được viết theo cách vừa phù hợp tiêu chuẩn và di động cho các triển khai khác. Các chức tỷ lệ kèo bóng đá tối nay phức tạp hơn bằng cách sử dụng các tính tỷ lệ kèo bóng đá tối nay nâng cao, các thuộc tính tối ưu hóa hoặc các ngôn ngữ khác nhất thiết sẽ cụ thể đối với PostgreSQL theo một cách quan trọng.

Gửi hiệu chỉnh

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 tỷ lệ kèo bóng đá tối 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.