Postgresql 8.3.23 Tài liệu | ||||
---|---|---|---|---|
Prev | Backward nhanh | Chuyển tiếp nhanh | Tiếp theo |
Tạo [hoặc thay thế] chức kèo bóng đá việt namtên([[argmode] [argname]argtype[, ...]])) [ReturnRettype] NGÔ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 Definer | TRỊ GIÁexec_cost11625_11639result_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' ... [ VỚI (thuộc tính[, ...])]]
Tạo chức kèo bóng đá việt namXác định mới chức kèo bóng đá việt nam.Tạo hoặc thay thế chức kèo bóng đá việt namsẽ tạo chức kèo bóng đá việt nam mới hoặc thay thế một sự định nghĩa.
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 kèo bóng đá việt nam mới không được khớp với bất kỳ chức kèo bóng đá việt nam với cùng loại đối số trong cùng một lược đồ. Tuy nhiên, các chức kèo bóng đá việt nam 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).
Để thay thế định nghĩa hiện tại của kèo bóng đá việt nam hàm hiện có, sử dụngTạo hoặc thay thế chức kèo bóng đá việt nam. 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 thực sự sẽ tạo ra một mới, khác biệt chức kèo bóng đá việt nam). Cũng,kèo bóng đá việt nam hoặc thay thế CHỨC NĂNGsẽ không cho phép bạn thay đổi loại trả lại của một chức kèo bóng đá việt nam hiện có. Để làm điều đó, bạn phải bỏ và tái tạo chức kèo bóng đá việt nam. (Khi sử dụngout13322_13394Outtham số ngoại trừ bằng cách bỏ chức kèo bóng đá việt nam.)
Nếu bạn bỏ và sau đó tạo lại một hàm, chức kèo bóng đá việt nam mới là không giống nhau như cũ; Bạn sẽ phải bỏ hiện tại Các quy tắc, quan điểm, kích hoạt, vv đề cập đến hàm cũ. Sử dụngTạo hoặc thay thế chức kèo bóng đá việt namĐể thay đổi a định nghĩa chức kèo bóng đá việt nam mà không phá vỡ các đối tượng đề cập đến chức kèo bóng đá việt nam. Cũng,Chức kèo bóng đá việt nam thay đổicó thể được sử dụng để thay đổi hầu hết các thuộc tính phụ trợ của một chức kèo bóng đá việt nam.
Người dùng tạo chức kèo bóng đá việt nam trở thành chủ sở hữu của chức kèo bóng đá việt nam.
Tên (Tùy chọn Lược đồ theo trình độ) của chức kèo bóng đá việt nam để tạo.
Chế độ của kèo bóng đá việt nam đối số: kèo bóng đá việt nam trong haiin, outhoặcInout. Nếu bị bỏ qua, mặc định làin.
14713_15151
Loại dữ liệu của các đối số của hàm (tùy chọn Lược đồ-đủ điều kiện), nếu có. Các loại đối số có thể là cơ sở, tổng hợp hoặc các loại 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ỉ định"Pseudotypes"chẳng hạn nhưcString. Pseudotypes chỉ ra rằng thực tế Loại đối số đượ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ếtTableName.CộtName%loại. Sử dụng điều này tính kèo bóng đá việt nam đôi khi có thể giúp tạo ra một chức kèo bóng đá việt nam độc lập với thay đổi định nghĩa của bảng.
Kiểu dữ liệu trả về (tùy chọn Lược đồ theo trình độ). Các Loại trả về có thể là loại cơ sở, tổng hợp hoặc miền hoặc có thể tham chiếu loại của kèo bóng đá việt nam 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ỉ định"Pseudotypes"chẳng hạn nhưcString. Nếu chức kèo bóng đá việt nam không được phép Trả về một giá trị, chỉ địnhvoidnhư Loại trả về.
Khi cóouthoặcInouttham số,returnĐiều khoản có thể được bỏ qua. Nếu có mặt, nó phải đồng ý với loại kết quả được ngụ ý bởi đầu ra tham số:RecordNếu có nhiều tham số đầu ra hoặc cùng loại với đơn tham số đầu ra.
Thesetof17171_17281
Loại cột được tham chiếu bằng cách viếtTableName.CộtName%loại.
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. Để tương thích ngược, tên có thể được đặt trong các trích dẫn đơn.
Những thuộc tính này thông báo cho Trình tối ưu hóa truy vấn về hành vi của chức kèo bóng đá việt nam. Nhiều nhất một lựa chọn có thể chỉ định. Nếu không ai trong số này xuất hiện,Disrilylà giả định mặc định.
bất biếnchỉ ra rằng chức kèo bóng đá việt nam không thể sửa đổi cơ sở dữ liệu và luôn trả về Kết quả tương tự 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 trình bày trong danh sách đối số của nó. Nếu như Tùy chọn này được đưa ra, mọi cuộc gọi của chức kèo bóng đá việt nam 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 bóng đá việt nam.
Ổn định18839_19287current_timestamp
Gia đình chức kèo bóng đá việt nam
đủ đ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.
Disrilychỉ ra rằng Giá trị chức kèo bóng đá việt nam 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 kèo bóng đá việt nam dễ bay hơi 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 đá việt nam 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 ().
Để biết thêm chi tiết, xemPhần 34.6.
Được gọi là đầu vào null20453_20703
Trả về NULL trên đầu vào nullhoặcnghiêm ngặtcho biết chức kèo bóng đá việt nam Luôn trả lại 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 hiện khi có các đối số null; thay vào đó là một null Kết quả được giả định tự động.
Bảo mật Invokerchỉ ra rằng chức kèo bóng đá việt nam 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 đá việt nam 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 được phép cho sự phù hợp SQL, nhưng nó là tùy chọn kể từ đó, Không giống như trong SQL, tính kèo bóng đá việt nam này áp dụng cho tất cả các chức kèo bóng đá việt nam không Chỉ những cái bên ngoài.
Một số dương đưa ra chi phí thực hiện ước tính cho chức kèo bóng đá việt nam, theo đơn vịCPU_OPERATOR_COST. Nếu hàm trả về một bộ, đây là chi phí cho mỗi trở lại hàng. Nếu chi phí không được chỉ định, 1 đơn vị là giả sử cho các chức kèo bóng đá việt nam ngôn ngữ C và nội bộ, và 100 Các đơn vị cho các chức kèo bóng đá việt nam trong tất cả các ngôn ngữ khá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 đá việt nam Thường xuyên hơn mức cần thiết.
Một số dương cho số lượng hàng ước tính Rằng người lập kế hoạch nên mong đợi chức kèo bóng đá việt nam trở lại. Cái này chỉ được phép khi hàm được khai báo trả về bộ. Giả định mặc định là 1000 hàng.
Thesetmệ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 ra.Đặt từ hiện tạiLưu Giá trị hiện tại của phiên của tham số là giá trị được áp dụng khi chức kèo bóng đá việt nam được nhập.
xemsetvàChương 18Để biết thêm thông tin về tên và giá trị tham số được phép.
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 chức kèo bóng đá việt nam nội bộ Tên, đường dẫn đến tệp đối tượng, lệnh SQL hoặc văn bản bằng ngôn ngữ thủ tục.
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 kèo bóng đá việt nam trong mã nguồn ngôn ngữ C không giống nhau là tên của hàm SQL. Chuỗiobj_file24401_24484link_symbollà liên kết của chức kèo bóng đá việt nam 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 kèo bóng đá việt nam SQL được xác định.
Cách lịch sử để chỉ định các phần tùy chọn của thông tin về chức kèo bóng đá việt nam. Các thuộc tính sau đây có thể xuất hiện ở đây:
tương đương vớinghiêm ngặthoặctrả về null trên null Đầu vào.
isCachablelà kèo bóng đá việt nam lỗi thời Tương đương vớibất biến; 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.
Tham khảoPhần 34.3Để biết thêm thông tin về chức kèo bóng đá việt nam viết.
25971_25982SQLLoại cú pháp là được phép cho các đối số đầu vào và giá trị trả về. Tuy nhiên, kèo bóng đá việt nam 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 kèo bóng đá việt nam 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 kèo bóng đá việt namlệnh.
PostgreSQLcho phép chức kèo bóng đá việt nam26485_2649826500_26803
Hai chức kèo bóng đá việt nam được coi là giống nhau nếu chúng có giống nhau Tên vàINPUTCác 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 đá việt nam foo (int) ... Tạo chức kèo bóng đá việt nam foo (int, out text) ...
Khi lặp lạiTạo chức kèo bóng đá việt namcuộc gọi Tham khảo cùng kèo bóng đá việt nam tệp đối tượng, tệp chỉ được tải kèo bóng đá việt nam lần mỗi phiên họp. Để dỡ và tải lại tệp (có lẽ trong thời gian phát triển), bắt đầu kèo bóng đá việt nam phiên mới.
Sử dụngthả CHỨC NĂNGĐể xóa các chức kèo bóng đá việt nam do người dùng xác định.
Thường rất hữu ích khi sử dụng trích dẫn đô la (xemPhần 4.1.2.2) để ghi chuỗi định nghĩa chức kèo bóng đá việt nam, 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 đơn hoặc dấu gạch chéo ngược trong định nghĩa hàm phải được thoát ra bằng cách nhân đôi chúng.
Nếu Asetmệnh đề được gắn vào chức kèo bóng đá việt nam, sau đó các hiệu ứng của AĐặt ĐỊA PHƯƠNGlệnh được thực thi bên trong hàm cho cùng một Biến được giới hạn trong hàm: Cấu hình Giá trị trước của tham số vẫn được khôi phục khi thoát chức kèo bóng đá việt nam. Tuy nhiên, một bình thườngsetlệnh (không cócục bộ) ghi đèSETmệnh đề, nhiều như nó sẽ làm cho trước trước đóĐặt cục bộLệnh: Các hiệu ứng của một lệnh sẽ tồn tại sau khi thoát chức kèo bóng đá việt nam, trừ khi hiện tại Giao dịch được quay lại.
Để có thể xác định chức kèo bóng đá việt nam, người dùng phải cósử dụngĐặc quyền trên ngôn ngữ.
KhiTạo hoặc thay thế chức kèo bóng đá việt nam28709_29005
Dưới đây là kèo bóng đá việt nam số ví dụ tầm thường để giúp bạn bắt đầu. Vì Thêm thông tin và ví dụ, xemPostgreSQL:.
kèo bóng đá việt nam hàm 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 đá việt nam 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 bóng đá việt nam 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 kèo bóng đá việt nam cách rõ ràng với kèo bóng đá việt nam kèo bóng đá việt nam cách rõ ràng loại tổng hợp được đặt tên:
Tạo loại DUP_RESULT là (F1 int, F2 văn bản); Tạo chức kèo bóng đá việt nam 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);
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 kèo bóng đá việt nam không thể bị lạm dụng. Vì bảo vệ,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 ra các đối tượng che giấu các đối tượng được sử dụng bởi chức kèo bóng đá việt nam. Đặc biệt quan trọng trong việc này quan tâm là lược đồ bàn tạm thời, được tìm kiếm đầu tiên bởi Mặc định, và thường có thể ghi bởi bất kỳ ai. Một sự sắp xếp an toàn có thể 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_TEMPNhư lần cuối cùng mục trongsearch_path. Hàm này Minh họa cách sử dụng an toàn:
31398_31775
trướcPostgreSQLPhiên bản 8.3,setTùy chọn không khả dụng, và vì vậy các chức kèo bóng đá việt nam cũ hơn có thể chứa logic khá phức tạp đối với lưu, đặt và khôi phụcsearch_path. Thesettùy chọn dễ sử dụng hơn cho việc này mục đích.
kèo bóng đá việt nam điểm khác cần lưu ý là theo mặc định, thực thi Đặc quyền được cấp chocông khaicho mới đã tạo các chức kèo bóng đá việt nam (xemGrantĐể biết thêm thông tin). Thường xuyên bạn Chỉ muốn hạn chế sử dụng chức kèo bóng đá việt nam xác định bảo mật chỉ Một số người dùng. Để làm điều đó, bạn phải thu hồi mặc địnhcông khai32525_32735
Bắt đầu; Tạo chức kèo bóng đá việt nam 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 đá việt nam 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 đá việt nam kiểm tra_password (văn bản uname, truyền văn bản) cho quản trị viên; LÀM;
ATạo chức kèo bóng đá việt namLệnh được xác định trong SQL: 1999 và sau đó. ThePOSTGRESQLPhiên bản tương tự nhưng không hoàn toàn tương thích. Các thuộc tính không thể di động, cũng không phải là các ngôn ngữ có sẵn khác nhau.
Để tương thích với kèo bóng đá việt nam số hệ thống cơ sở dữ liệu khác,argmodecó thể được viết trước hoặc trước hoặc sau đóargname. Nhưng chỉ đầu tiên cách tuân thủ tiêu chuẩn.