Tạo quy soi kèo bóng đá truoctran - Xác định quy soi kèo bóng đá truoctran mới
Tạo [hoặc thay thế] Quy soi kèo bóng đá truoctrantên
([argmode
7821_7828argname
]argtype
[Mặc định | =default_expr
] [, ...]])) NGÔN NGỮLang_Name
| Biến đổi cho loạitype_name
[, ...] | [Bên ngoài] Invoker bảo mật | [Bên ngoài] Bảo mật Definer | 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 quy soi kèo bóng đá truoctran
Xác định một thủ tục mới.soi kèo bóng đá truoctran hoặc thay thế thủ tục
sẽ tạo một quy soi kèo bóng đá truoctran mới hoặc thay thế một định nghĩa hiện có. Để có thể xác định quy soi kèo bóng đá truoctran, người dùng phải cósử dụng
Đặc soi kèo bóng đá truoctranền về ngôn ngữ.
Nếu bao gồm tên lược đồ, thì quy soi kèo bóng đá truoctran đượ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 thủ tục mới không được khớp với bất kỳ quy soi kèo bóng đá truoctran hoặc chức năng 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 thủ tục và chức năng 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 quy soi kèo bóng đá truoctran hiện có, sử dụngsoi kèo bóng đá truoctran hoặc thay thế thủ tục
9657_9814
khisoi kèo bóng đá truoctran hoặc thay thế thủ tục
được sử dụng để thay thế một thủ tục hiện có, soi kèo bóng đá truoctranền sở hữu và soi kèo bóng đá truoctranền của thủ tục không thay đổi. Tất cả các thuộc tính thủ tục 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 thủ tục để thay thế nó (điều này bao gồm là thành viên của vai trò sở hữu).
10185_10258
Để có thể soi kèo bóng đá truoctran một thủ tục, bạn phải cósử dụng
Đặc soi kèo bóng đá truoctranền về các loại đối số.
10395_10406Phần 38.4Để biết thêm thông tin về quy soi kèo bóng đá truoctran viết.
tên
Tên (Tùy chọn Lược đồ theo soi kèo bóng đá truoctran độ) của quy soi kèo bóng đá truoctran để tạo.
argmode
Chế độ của một đối số:in
, out
, Inout
hoặcVariadic
. Nếu bị bỏ qua, mặc định làin
.
argname
Tên của một đối số.
argtype
Loại dữ liệu của các đối số của thủ tục (tùy chọn Lược đồ theo soi kèo bóng đá truoctran độ), 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 năng này đôi khi có thể giúp tạo ra một quy soi kèo bóng đá truoctran độ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
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ố. Tất cả các 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.
Lang_Name
Tên của ngôn ngữ mà quy soi kèo bóng đá truoctran đượ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
13289_13383
Transform cho loạitype_name
[, ...]
Danh sách chuyển đổi cuộc gọi cho thủ tục 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ấysoi kèo bóng đá truoctran 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ý một 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.
[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 quy soi kèo bóng đá truoctran 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 quy soi kèo bóng đá truoctran 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 năng này áp dụng cho tất cả các quy soi kèo bóng đá truoctran không chỉ bên ngoài.
ABảo mật xác định
Quy soi kèo bóng đá truoctran không thể thực thi các báo cáo kiểm soát giao dịch (ví dụ:cam kết
vàrollback
, tùy thuộc vào ngôn ngữ).
Cấu hình_parameter
giá trị
Theset
15499_15681Đặt từ hiện tại
Lưu giá trị của tham số hiện tại khiTạo quy soi kèo bóng đá truoctran
được thực hiện dưới dạng giá trị được áp dụng khi nhập thủ tục.
Nếu Aset
mệnh đề được gắn vào một thủ tục, sau đó là các hiệu ứng của AĐặt cục bộ
Lệnh được thực thi bên trong quy soi kèo bóng đá truoctran cho cùng một biến bị giới hạn trong quy soi kèo bóng đá truoctran: Giá trị trước của tham số cấu hình vẫn được khôi phục khi thoát thủ tục. Tuy nhiên, một bình thườngset
lệnh (không cócục bộ
16323_16341set
mệ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 lệnh đó sẽ tồn tại sau khi thoát khỏi thủ tục, trừ khi giao dịch hiện tại được quay lại.
Nếu Aset
mệnh đề được gắn vào một thủ tục, sau đó quy soi kèo bóng đá truoctran đó không thể thực hiện các báo cáo kiểm soát giao dịch (ví dụ:cam kết
vàrollback
, tùy thuộc vào ngôn ngữ).
16869_16875setvàChương 20Để 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 thủ tục; Ý nghĩa phụ thuộc vào ngôn ngữ. Nó có thể là một tên thủ tục nội bộ, đườ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 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 thủ tục, thay vì cú pháp trích dẫn đơn bình thường. Không có trích dẫn đô la, bất kỳ trích dẫn hoặc dấu gạch chéo ngược nào trong định nghĩa thủ tục phải được thoát ra 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 quy soi kèo bóng đá truoctran ngôn ngữ C có thể tải động khi tên thủ tục trong mã nguồn ngôn ngữ C không giống như tên của thủ tục SQL. Chuỗiobj_file
là tên của tệp thư viện được chia sẻ chứa quy soi kèo bóng đá truoctran c được biên dịch và được hiểu là đối vớiTải
lệnh. Chuỗilink_symbol
là biểu tượng liên kết của thủ tục, nghĩa là tên của quy soi kèo bóng đá truoctran 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 thủ tục SQL được xác định.
Khi lặp lạiTạo quy soi kèo bóng đá truoctran
Các 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á soi kèo bóng đá truoctran phát triển), hãy bắt đầu một phiên mới.
sql_body
Cơ thể của ANgôn ngữ SQL
Thủ tục. Đây phải là một khối
Bắt đầu nguyên tửtuyên bố
;tuyên bố
; ...tuyên bố
; KẾT THÚC
Điều này tương tự như viết văn bản của cơ thể thủ tục 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ữ 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 theo thời gian định nghĩa thủ tục, 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 theo thời gian định nghĩa thủ tục. Mẫu này theo dõi các phụ thuộc giữa quy soi kèo bóng đá truoctran và các đối tượng được sử dụng trong cơ thể thủ tục, vì vậyDrop ... Cascade
20266_20450
xemsoi kèo bóng đá truoctran chức năngĐể biết thêm chi tiết về việc soi kèo bóng đá truoctran chức năng cũng áp dụng cho các thủ tục.
Sử dụnggọiđể thực hiện một thủ tục.
Tạo quy soi kèo bóng đá truoctran chèn_data (A Integer, B Integer) Ngôn ngữ SQL Như $$ Chèn vào các giá trị TBL (a); Chèn vào các giá trị TBL (b); $$;
hoặc
Tạo quy soi kèo bóng đá truoctran INSERT_DATA (A Integer, B Integer) Ngôn ngữ SQL Bắt đầu nguyên tử Chèn vào các giá trị TBL (a); Chèn vào các giá trị TBL (b); KẾT THÚC;
và gọi như thế này:
gọi chèn_data (1, 2);
ATạo quy soi kèo bóng đá truoctran
21615_21662PostgreSQLThự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. Để biết chi tiết, hãy xem thêmsoi kèo bóng đá truoctran chức năng.
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 năng 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.