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

Tạo quy soi kèo bóng đá truoctran

Tạo quy soi kèo bóng đá truoctran - Xác định quy soi kèo bóng đá truoctran mới

Synopsis

Tạo [hoặc thay thế] Quy soi kèo bóng đá truoctrantên([argmode7821_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_parametertogiá trị| =giá trị| Từ hiện tại
    | BẰNG 'Định nghĩa'
    | BẰNG 'obj_file','link_symbol'
    |sql_body...

Mô tả

Tạo quy soi kèo bóng đá truoctranXác định một thủ tục mới.soi kèo bóng đá truoctran hoặc thay thế thủ tụcsẽ 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ục9657_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.

tham số

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, Inouthoặ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ếtTable_Name.Cột_name%loại. 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.

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àSQLnếusql_body13289_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 InvokerCho 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 địnhChỉ đị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 địnhQuy 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ếtrollback, tùy thuộc vào ngôn ngữ).

Cấu hình_parameter
giá trị

Theset15499_15681Đặt từ hiện tạiLư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 Asetmệ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ườngsetlệnh (không cócục bộ16323_16341setmệ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 Asetmệ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ếtrollback, tùy thuộc vào ngôn ngữ).

16869_16875setChươ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ủaASmệ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_filelà 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ảilệnh. Chuỗilink_symbollà 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 đá truoctranCá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ữ SQLThủ 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 ... Cascade20266_20450

Ghi chú

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.

Ví dụ

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);

Tương thích

ATạo quy soi kèo bóng đá truoctran21615_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.

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 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.