Tạo kèo bóng đá cúp c2 ngữ - Xác định kèo bóng đá cúp c2 ngữ thủ tục mới
Tạo [hoặc thay thế] [Thủ tục] kèo bóng đá cúp c2 ngữtên
Tạo [hoặc thay thế] [đáng tin cậy] [Thủ tục] kèo bóng đá cúp c2 ngữtên
Handlercall_handler
[Inlineinline_handler
] [Trình xác nhậnValfunction
]
Tạo kèo bóng đá cúp c2 ngữ
Đăng ký một kèo bóng đá cúp c2 ngữ thủ tục mới với APostgreSQLCơ sở dữ liệu. Sau đó, các chức năng và quy trình kích hoạt có thể được xác định trong kèo bóng đá cúp c2 ngữ mới này.
kể từPOSTGRESQL9.1, Hầu hết các kèo bóng đá cúp c2 ngữ thủ tục đã được tạo thànhHồiPhần mở rộng, và do đó nên được cài đặt vớiTạo tiện ích mở rộngkhôngTạo kèo bóng đá cúp c2 ngữ
. Sử dụng trực tiếpTạo kèo bóng đá cúp c2 ngữ
Bây giờ nên được giới hạn trong các tập lệnh cài đặt mở rộng. Nếu bạn cóHồitrầnkèo bóng đá cúp c2 ngữ trong cơ sở dữ liệu của bạn, có lẽ là kết quả của việc nâng cấp, bạn có thể chuyển đổi nó thành tiện ích mở rộng bằng cách sử dụngTạo tiện ích mở rộng
.Langname
Từ chưa đóng gói
Tạo kèo bóng đá cúp c2 ngữ
liên kết hiệu quả tên kèo bóng đá cúp c2 ngữ với (các) hàm Handler chịu trách nhiệm thực thi các chức năng được viết bằng kèo bóng đá cúp c2 ngữ. Tham khảoChương 55Để biết thêm thông tin về người xử lý kèo bóng đá cúp c2 ngữ.
Có hai dạng củaTạo kèo bóng đá cúp c2 ngữ
Lệnh. Trong mẫu đầu tiên, người dùng chỉ cung cấp tên của kèo bóng đá cúp c2 ngữ mong muốn và13118_13130Máy chủ tham khảopg_pltemplate
Danh mục hệ thống để xác định các tham số chính xác. Ở dạng thứ hai, người dùng cung cấp các tham số kèo bóng đá cúp c2 ngữ cùng với tên kèo bóng đá cúp c2 ngữ. Mẫu thứ hai có thể được sử dụng để tạo một kèo bóng đá cúp c2 ngữ không được định nghĩa trongpg_pltemplate
, nhưng cách tiếp cận này được coi là lỗi thời.
Khi máy chủ tìm thấy một mục nhập trongpg_pltemplate
Danh mục cho tên kèo bóng đá cúp c2 ngữ đã cho, nó sẽ sử dụng dữ liệu danh mục ngay cả khi lệnh bao gồm các tham số kèo bóng đá cúp c2 ngữ. Hành vi này đơn giản hóa việc tải các tệp kết xuất cũ, có khả năng chứa thông tin lỗi thời về các chức năng hỗ trợ kèo bóng đá cúp c2 ngữ.
Thông thường, người dùng phải cóPostgreSQL14028_14194pg_pltemplate
Danh mục và được đánh dấu là cho phép được tạo bởi chủ sở hữu cơ sở dữ liệu (TMPLDBacreate
là đúng). Mặc định là các kèo bóng đá cúp c2 ngữ đáng tin cậy có thể được tạo bởi các chủ sở hữu cơ sở dữ liệu, nhưng điều này có thể được điều chỉnh bởi các siêu người dùng bằng cách sửa đổi nội dung củapg_pltemplate
. Người tạo kèo bóng đá cúp c2 ngữ trở thành chủ sở hữu của nó và sau đó có thể bỏ nó, đổi tên nó hoặc gán nó cho chủ sở hữu mới.
Tạo hoặc thay thế kèo bóng đá cúp c2 ngữ
sẽ tạo một kèo bóng đá cúp c2 ngữ mới hoặc thay thế một định nghĩa hiện có. Nếu kèo bóng đá cúp c2 ngữ đã tồn tại, các tham số của nó được cập nhật theo các giá trị được chỉ định hoặc lấy từpg_pltemplate
, nhưng cài đặt quyền sở hữu và quyền của kèo bóng đá cúp c2 ngữ không thay đổi và bất kỳ chức năng hiện có nào được viết bằng kèo bóng đá cúp c2 ngữ được cho là vẫn còn hợp lệ. Ngoài các yêu cầu đặc quyền thông thường để tạo kèo bóng đá cúp c2 ngữ, người dùng phải là siêu người dùng hoặc chủ sở hữu kèo bóng đá cúp c2 ngữ hiện có. Thethay thế
Trường hợp chủ yếu được sử dụng để đảm bảo rằng kèo bóng đá cúp c2 ngữ tồn tại. Nếu kèo bóng đá cúp c2 ngữ cópg_pltemplate
mục sau đóthay thế
15455_15559pg_pltemplate
Mục nhập đã được sửa đổi kể từ khi kèo bóng đá cúp c2 ngữ được tạo.
Trusted
Trusted
Chỉ định rằng kèo bóng đá cúp c2 ngữ không cấp quyền truy cập vào dữ liệu mà người dùng sẽ không có. Nếu từ khóa này bị bỏ qua khi đăng ký kèo bóng đá cúp c2 ngữ, chỉ người dùng cóPostgreSQLĐặc quyền Superuser có thể sử dụng kèo bóng đá cúp c2 ngữ này để tạo các chức năng mới.
Thủ tục
Đây là một từ tiếng ồn.
tên
Tên của kèo bóng đá cúp c2 ngữ thủ tục mới. Tên phải là duy nhất trong số các kèo bóng đá cúp c2 ngữ trong cơ sở dữ liệu.
Để tương thích ngược, tên có thể được đặt trong các trích dẫn đơn.
Handler
call_handler
call_handler
là tên của hàm đã đăng ký trước đó sẽ được gọi để thực hiện các chức năng của kèo bóng đá cúp c2 ngữ thủ tục. Trình xử lý cuộc gọi cho một kèo bóng đá cúp c2 ngữ thủ tục phải được viết bằng kèo bóng đá cúp c2 ngữ được biên dịch như C với quy ước gọi phiên bản 1 và được đăng ký vớiPostgreSQLLà một hàm không có đối số và trả lạikèo bóng đá cúp c2_handler
Loại, loại trình giữ chỗ được sử dụng đơn giản để xác định chức năng như một trình xử lý cuộc gọi.
nội tuyến
inline_handler
inline_handler
là tên của hàm đã đăng ký trước đó sẽ được gọi để thực thi một khối mã ẩn danh (dolệnh) trong kèo bóng đá cúp c2 ngữ này. Nếu khônginline_handler
Hàm được chỉ định, kèo bóng đá cúp c2 ngữ không hỗ trợ các khối mã ẩn danh. Hàm xử lý phải lấy một đối số của loạiNội bộ
, sẽ làdo
Biểu diễn nội bộ của lệnh và nó thường sẽ trả vềvoid
. Giá trị trả về của người xử lý bị bỏ qua.
Validator
Valfunction
Valfunction
là tên của hàm đã đăng ký trước đó sẽ được gọi khi một hàm mới trong kèo bóng đá cúp c2 ngữ được tạo, để xác thực chức năng mới. Nếu không có chức năng xác thực được chỉ định, thì một hàm mới sẽ không được kiểm tra khi nó được tạo. Hàm xác thực phải lấy một đối số của loạiOID
, sẽ là oid của hàm được tạo và thường sẽ trả vềvoid
.
Chức năng xác thực thường kiểm tra cơ thể hàm cho tính chính xác của cú pháp, nhưng nó cũng có thể xem xét các thuộc tính khác của hàm, ví dụ nếu kèo bóng đá cúp c2 ngữ không thể xử lý các loại đối số nhất định. Để báo hiệu một lỗi, hàm xác thực sẽ sử dụngEREPORT ()
Hàm. Giá trị trả về của hàm bị bỏ qua.
TheTrusted
Tùy chọn và tên hàm hỗ trợ bị bỏ qua nếu máy chủ có mục nhập cho tên kèo bóng đá cúp c2 ngữ được chỉ định trongpg_pltemplate
.
sử dụngDrop Languageđể bỏ các kèo bóng đá cúp c2 ngữ thủ tục.
Danh mục hệ thốngPG_Language
(xemPhần 51,29) Hồ sơ thông tin về các kèo bóng đá cúp c2 ngữ hiện được cài đặt. Ngoài ra,PSQLlệnh\ DL
liệt kê các kèo bóng đá cúp c2 ngữ đã cài đặt.
Để tạo các hàm trong kèo bóng đá cúp c2 ngữ thủ tục, người dùng phải cósử dụng
Đặc quyền cho kèo bóng đá cúp c2 ngữ. Theo mặc định,sử dụng
20150_20167công khai
(tức là mọi người) cho các kèo bóng đá cúp c2 ngữ đáng tin cậy. Điều này có thể bị thu hồi nếu muốn.
kèo bóng đá cúp c2 ngữ thủ tục là địa phương cho các cơ sở dữ liệu riêng lẻ. Tuy nhiên, một kèo bóng đá cúp c2 ngữ có thể được cài đặt vàoTemplate1
Cơ sở dữ liệu, sẽ khiến nó có sẵn tự động trong tất cả các cơ sở dữ liệu được tạo ra sau đó.
20527_20706pg_pltemplate
. Nhưng khi có một mục, các chức năng không cần tồn tại; Chúng sẽ được tự động xác định nếu không có trong cơ sở dữ liệu. (Điều này có thể dẫn đếnTạo kèo bóng đá cúp c2 ngữ
Không thành công, nếu thư viện chia sẻ thực hiện kèo bóng đá cúp c2 ngữ không có sẵn trong cài đặt.)
inPostgreSQLPhiên bản trước 7.3, cần phải khai báo các chức năng xử lý là trả lại loại trình giữ chỗOpaque
, thay vìkèo bóng đá cúp c2_handler
. Để hỗ trợ tải các tệp kết xuất cũ,Tạo kèo bóng đá cúp c2 ngữ
Sẽ chấp nhận một hàm được khai báo là trả lạiOpaque
, nhưng nó sẽ đưa ra thông báo và thay đổi loại trả về được khai báo của hàm thànhkèo bóng đá cúp c2_handler
.
Cách ưa thích để tạo bất kỳ kèo bóng đá cúp c2 ngữ thủ tục tiêu chuẩn nào chỉ là:
Tạo kèo bóng đá cúp c2 ngữ plperl;
Đối với một kèo bóng đá cúp c2 ngữ không được biết trongpg_pltemplate
Danh mục, một chuỗi như thế này là cần thiết:
tạo chức năng plsample_call_handler () trả về kèo bóng đá cúp c2_handler Như '$ libdir/plsample' Ngôn ngữ C; Tạo ngôn ngữ plsample Handler plsample_call_handler;
Tạo kèo bóng đá cúp c2 ngữ
là APostgreSQLphần mở rộng.