Một cách tốt để phát triển tỷ lệ kèo bóng đáPL/PGSQLIS sử dụng trình soạn thảo văn bản bạn chọn để tạo các chức năng của bạn và tỷ lệ kèo bóng đá một cửa sổ khác, hãy sử dụngPSQLĐể tải và kiểm tra các chức năng đó. Nếu bạn đang làm theo cách này, bạn nên viết chức năng bằng cách sử dụngTạo hoặc thay thế chức năng
. Bằng cách đó, bạn chỉ có thể tải lại tệp để cập nhật định nghĩa chức năng. Ví dụ:
Tạo hoặc thay thế chức năng testfunc (số nguyên) Trả về số nguyên dưới dạng $$ Hẻo lánh $$ ngôn ngữ plpgsql;
tỷ lệ kèo bóng đá khi chạyPSQL, bạn có thể tải hoặc tải lại tệp định nghĩa chức năng như vậy với:
\ I fileName.sql
và sau đó tỷ lệ kèo bóng đá hành các lệnh SQL ngay lập tức để kiểm tra chức năng.
Một cách tốt để phát triển tỷ lệ kèo bóng đáPL/PGSQLcó công cụ truy cập cơ sở dữ liệu GUI tạo điều kiện tỷ lệ kèo bóng đá bằng ngôn ngữ thủ tục. Một ví dụ về một công cụ như vậy làPGADMIN12544_12701
Mã của APL/PGSQLHàm được chỉ định tỷ lệ kèo bóng đáTạo chức năng
như một chuỗi theo nghĩa đen. Nếu bạn viết chuỗi theo nghĩa đen theo cách thông thường với các trích dẫn duy nhất xung quanh, thì bất kỳ trích dẫn đơn nào bên tỷ lệ kèo bóng đá cơ thể chức năng phải được nhân đôi; Tương tự như vậy, bất kỳ dấu gạch chéo ngược nào cũng phải được nhân đôi (giả sử cú pháp chuỗi thoát được sử dụng). Báo giá nhân đôi là tốt nhất tẻ nhạt, và tỷ lệ kèo bóng đá các trường hợp phức tạp hơn, mã có thể trở nên hết sức không thể hiểu được, bởi vì bạn có thể dễ dàng thấy mình cần một nửa tá hoặc nhiều dấu ngoặc kép liền kề hơn. Thay vào đó bạn nên viết cơ thể chức năng dưới dạngđược trích xuất DollarHồiChuỗi theo nghĩa đen (xemPhần 4.1.2.413808_14017Tạo chức năng
tỷ lệ kèo bóng đánh AS:
Tạo hoặc thay thế chức năng testfunc (số nguyên) Trả về số nguyên là $ Proc $ Hẻo lánh $ Proc $ ngôn ngữ plpgsql;
tỷ lệ kèo bóng đá này, bạn có thể sử dụng các dấu ngoặc kép cho các chuỗi đơn giản tỷ lệ kèo bóng đá các lệnh SQL và$$
14351_14467$$
, bạn có thể sử dụng$ q $
, v.v.
Biểu đồ sau đây cho thấy những gì bạn phải làm khi viết dấu ngoặc kép mà không có trích dẫn đô la. Nó có thể hữu ích khi dịch mã trích dẫn tiền đô la thành một cái gì đó dễ hiểu hơn.
Để bắt đầu và kết thúc cơ thể chức năng, ví dụ:
Tạo hàm foo () trả về số nguyên là ' Hẻo lánh 'Ngôn ngữ plpgsql;
Bất cứ nơi nào tỷ lệ kèo bóng đá cơ thể chức năng được trích xuất đơn, dấu ngoặc képphảixuất hiện theo cặp.
Đối với các chuỗi chữ bên tỷ lệ kèo bóng đá cơ thể chức năng, ví dụ:
a_output: = '' blah ''; Chọn * Từ người dùng tỷ lệ kèo bóng đá đó f_name = '' foobar '';
tỷ lệ kèo bóng đá cách tiếp cận trích xuất đô la, bạn chỉ viết:
a_output: = 'blah'; Chọn * Từ người dùng tỷ lệ kèo bóng đá đó f_name = 'foobar';
Đó chính xác là những gìPL/PGSQLtrình phân tích cú pháp sẽ thấy tỷ lệ kèo bóng đá cả hai trường hợp.
Khi bạn cần một dấu ngoặc kép tỷ lệ kèo bóng đá một hằng số chuỗi bên tỷ lệ kèo bóng đá cơ thể hàm, ví dụ:
a_output: = a_output || '' Và tên như '' '' foobar '' '' và xyz ''
Giá trị thực sự được gắn vàoa_output
Sẽ là:và tên như 'foobar' và xyz
.
tỷ lệ kèo bóng đá cách tiếp cận trích xuất đô la, bạn sẽ viết:
a_output: = a_output || $$ và tên như 'foobar' và xyz $$
16450_16524$$
.
Khi một dấu ngoặc kép tỷ lệ kèo bóng đá một chuỗi bên tỷ lệ kèo bóng đá thân hàm liền kề với phần cuối của hằng số chuỗi đó, ví dụ:
a_output: = a_output || '' Và tên như '' '' foobar '' '' '' '
Giá trị được gắn vàoa_output
Sau đó sẽ là:và tên như 'foobar'
.
tỷ lệ kèo bóng đá phương pháp truy xuất đô la, điều này trở thành:
a_output: = a_output || $$ và tên như 'foobar' $$
17303_17573Ví dụ 42.10. Ví dụ:
a_output: = a_output || '' Nếu v_ '' || Giới thiệu_KEYS.KIND || '' giống '''''''''' || Giới thiệu_KEYS.KEY_STRING || '' '' '' '' '' '' Sau đó trả về '' '' '' || Giới thiệu_KEYS.REFERRER_TYPE || '' '' '' '; kết thúc nếu; '';
Giá trị củaa_output
Sau đó sẽ là:
Nếu v _... như '' ... '' sau đó trả lại '' ... ''; kết thúc nếu;
tỷ lệ kèo bóng đá phương pháp truy xuất đô la, điều này trở thành:
18319_18508
tỷ lệ kèo bóng đá đó chúng ta giả sử chúng ta chỉ cần đặt các dấu ngoặc kép đơn vàoa_output
, bởi vì nó sẽ được trích dẫn lại trước khi sử dụng.
Để hỗ trợ người dùng tìm kiếm các trường hợp đơn giản nhưng phổ biến trước khi chúng gây hại,PL/PGSQLCung cấp bổ sungKiểm tra
. Khi được bật, tùy thuộc vào cấu hình, chúng có thể được sử dụng để tỷ lệ kèo bóng đá racảnh báo
hoặc mộtERROR
tỷ lệ kèo bóng đá quá trình tổng hợp một hàm. Một chức năng đã nhận được mộtCảnh báo
19422_19542
Cài đặtplpgsql.extra_warnings
hoặcplpgsql.extra_errors
, khi thích hợp, đến"Tất cả"
được khuyến khích tỷ lệ kèo bóng đá môi trường phát triển và/hoặc thử nghiệm.
Các kiểm tra bổ sung này được bật thông qua các biến cấu hìnhplpgsql.extra_warnings
cho cảnh báo vàplpgsql.extra_errors
Đối với lỗi. Cả hai đều có thể được đặt thành danh sách kiểm tra được phân tách bằng dấu phẩy,"Không"
hoặc"Tất cả"
. Mặc định là"Không"
20178_20230
Shadowed_variables
Kiểm tra xem một tuyên bố có tỷ lệ kèo bóng đá không một biến được xác định trước đó không.
strict_multi_assignment
Một sốPL/PGSQLCác tỷ lệ kèo bóng đánh cho phép gán các giá trị cho nhiều biến tại một thời điểm, chẳng hạn nhưChọn vào
. Thông thường, số lượng biến mục tiêu và số lượng biến nguồn sẽ khớp, mặc dùPL/PGSQLsẽ sử dụngnull
Đối với các giá trị bị thiếu và các biến bổ sung bị bỏ qua. Kích hoạt kiểm tra này sẽ gây raPL/PGSQLđể ném ACảnh báo
hoặcERROR
Bất cứ khi nào số lượng biến mục tiêu và số lượng biến nguồn là khác nhau.
TOUS_MANY_ROWS
Kích hoạt kiểm tra này sẽ gây raPL/PGSQLĐể kiểm tra xem một truy vấn đã cho có trả về nhiều hơn một hàng khithành
mệnh đề được sử dụng. Như mộtthành
Câu tỷ lệ kèo bóng đánh sẽ chỉ sử dụng một hàng, có một truy vấn trả về nhiều hàng nói chung là không hiệu quả và/hoặc không phải
Ví dụ sau đây cho thấy hiệu ứng củaplpgsql.extra_warnings
Đặt thànhShadowed_variables
:
Đặt plpgsql.extra_warnings thành 'shadowed_variables'; Tạo chức năng foo (f1 int) trả về int as $$ TUYÊN BỐ F1 int; BẮT ĐẦU Trả lại F1; KẾT THÚC; $$ Ngôn ngữ plpgsql; Cảnh báo: Biến "F1" Biến một biến được xác định trước đó Dòng 3: F1 int; ^ Tạo chức năng
Ví dụ dưới đây cho thấy các hiệu ứng của cài đặtplpgsql.extra_warnings
đếnstrict_multi_assignment
:
22486_23187
Nếu bạn thấy bất cứ điều gì tỷ lệ kèo bóng đá 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.