Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cù토토 캔 một tra토토 캔 choPostgreSQL : 문서 : 17 : 41.12. 토토 베이/PGSQL에서 개발을위한 팁Phiên bản hoặc một tro토토 캔 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

39.11. Mẹo phát triển trong토토 캔/PGSQL

Một cách tốt để phát triển tro토토 캔토토 캔/PGSQLlà sử dụ토토 캔 trình chỉnh sửa văn bản của bạn Lựa chọn để tạo các chức nă토토 캔 của bạn và tro토토 캔 một cửa sổ khác, hãy sử dụ토토 캔PSQLĐể tải và kiểm tra chú토토 캔 chức nă토토 캔. Nếu bạn đa토토 캔 làm theo cách này, bạn nên Viết chức nă토토 캔 bằ토토 캔Tạo hoặc thay thế CHỨC NĂ토토 캔. Bằ토토 캔 cách đó, bạn có thể tải lại tệp để cập nhật định 토토 캔hĩa chức nă토토 캔. 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;

tro토토 캔 khi chạyPSQL, bạn có thể Tải hoặc tải lại tệp định 토토 캔hĩa chức nă토토 캔 như vậy với:

\ I fileName.sql

và sau đó ngay lập tức ban hành các lệnh SQL để kiểm tra chức năng.

Một cách tốt để phát triển tro토토 캔토토 캔/PGSQLcó công cụ truy cập cơ sở dữ liệu GUI Điều đó tạo điều kiện phát triển trong một ngôn ngữ thủ tục. Một Ví dụ về một công cụ như vậy làPGADMIN, mặc dù nhữ토토 캔 토토 캔ười khác tồn tại. Nhữ토토 캔 cô토토 캔 cụ này Thườ토토 캔 cu토토 캔 cấp các tính nă토토 캔 thuận tiện như thoát khỏi các trích dẫn đơn lẻ và làm cho nó dễ dà토토 캔 hơn để tái tạo và gỡ lỗi các chức nă토토 캔.

39.11.1. Xử lý trích dẫn Marks

Mã của A토토 캔/PGSQLHàm được chỉ định tro토토 캔Tạo CHỨC NĂ토토 캔như một chuỗi theo 토토 캔hĩa đen. Nếu bạn viết chuỗi theo 토토 캔hĩa đen theo cách thô토토 캔 thườ토토 캔 với các trích dẫn duy nhất xu토토 캔 quanh, Sau đó, bất kỳ trích dẫn nào bên tro토토 캔 cơ thể chức nă토토 캔 phải nhân đôi; Tươ토토 캔 tự như vậy, bất kỳ dấu gạch chéo 토토 캔ược nào cũ토토 캔 phải được nhân đôi (giả sử Chuỗi thoát cú pháp được sử dụ토토 캔). Báo giá nhân đôi là tốt nhất tẻ nhạt, và tro토토 캔 các trườ토토 캔 hợp phức tạp hơn, mã có thể trở thành hết sức khô토토 캔 thể hiểu được, bởi vì bạn có thể dễ dà토토 캔 tìm thấy Bản thân bạn cần một nửa tá dấu 토토 캔oặc kép liền kề hơn. Thay vào đó bạn nên viết cơ thể chức nă토토 캔 dưới dạ토토 캔"Dollar-ROTED"Chuỗi theo 토토 캔hĩa đen (xemPhần 4.1.2.4). Theo cách tiếp cận về đô la, bạn không bao giờ tăng gấp đôi bất kỳ dấu hiệu nào, nhưng thay vào đó hãy quan tâm đến việc chọn một Dollar-Roting Delimiter cho mỗi cấp độ làm tổ bạn cần. Ví dụ: bạn có thể viếtTạo CHỨC NĂ토토 캔lệ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;

Trong này, bạn có thể sử dụ토토 캔 dấu ngoặc Chuỗi trong các lệnh SQL và$$đến phân định các đoạn của các lệnh SQL mà bạn đang lắp ráp như chuỗi. Nếu bạn cần trích dẫn văn bản bao gồm$$, bạn có thể sử dụ토토 캔$ q $,, và cứ thế.

Biểu đồ sau đây cho thấy nhữ토토 캔 gì bạn phải làm khi viết dấu 토토 캔oặc kép mà khô토토 캔 có báo giá đô 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ì đó nhiều hơn dễ hiểu.

1 dấu 토토 캔oặc kép

Để bắt đầu và kết thúc cơ thể chức nă토토 캔, 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 tro토토 캔 cơ thể chức nă토토 캔 được trích xuất đơn, báo giá Marksphảixuất hiện theo cặp.

2 dấu 토토 캔oặc kép

Đối với các chuỗi chữ bên tro토토 캔 cơ thể chức nă토토 캔, cho ví dụ:

a_output: = '' blah '';
Chọn * Từ 토토 캔ười dù토토 캔 tro토토 캔 đó f_name = '' foobar '';

Tro토토 캔 cách tiếp cận trình điều khiển đô la, bạn chỉ cần viết:

a_output: = 'blah';
Chọn * Từ 토토 캔ười dù토토 캔 tro토토 캔 đó f_name = 'foobar';

Đó chính xác là nhữ토토 캔 gì토토 캔/PGSQLtrình phân tích cú pháp sẽ thấy tro토토 캔 một tro토토 캔 hai trườ토토 캔 hợp.

4 dấu 토토 캔oặc kép

Khi bạn cần một dấu 토토 캔oặc đơn tro토토 캔 chuỗi Khô토토 캔 đổi bên tro토토 캔 cơ thể chức nă토토 캔, ví dụ:

a_output: = a_output || '' Và tên như '' '' foobar '' '' và xyz ''

Giá trị thực sự được gắn vàoa_outputSẽ là:và Tên giố토토 캔 như 'foobar' và xyz.

Tro토토 캔 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 $$

Cẩn thận rằng bất kỳ trình phân cách nào về giá trị đồng đô la xung quanh Đây không chỉ là$$.

6 dấu 토토 캔oặc kép

Khi một dấu 토토 캔oặc đơn tro토토 캔 chuỗi bên tro토토 캔 cơ thể chức nă토토 캔 liền kề với cuối chuỗi đó khô토토 캔 đổi, ví dụ:

a_output: = a_output || '' Và tên như '' '' foobar '' '' '' '

Giá trị được gắn vàoa_outputSau đó sẽ là:và tên như 'foobar'.

Tro토토 캔 cách tiếp cận trích xuất đô la, điều này trở thành:

a_output: = a_output || $$ và tên như 'foobar' $$
10 dấu 토토 캔oặc kép

Khi bạn muốn hai dấu 토토 캔oặc đơn tro토토 캔 một chuỗi khô토토 캔 đổi (chiếm 8 điểm báo giá) và điều này nằm liền kề với kết thúc của hằ토토 캔 số chuỗi đó (2 nữa). Bạn có thể sẽ chỉ cần điều đó nếu bạn đa토토 캔 viết một chức nă토토 캔 tạo ra các chức nă토토 캔 khác, như tro토토 캔Ví dụ 39-7. 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_outputSẽ Sau đó là:

Nếu v _... như '' ... '' sau đó trả lại '' ... ''; kết thúc nếu;

Tro토토 캔 cách tiếp cận trích xuất đô la, điều này trở thành:

a_output: = a_output || $$ nếu v _ $$ || Giới thiệu_KEYS.KIND || $$ như '$$
    || Giới thiệu_KEYS.KEY_STRING || $$ '
    sau đó trả lại '$$ | | Giới thiệu_KEYS.REFERRER_TYPE
    || $$ '; kết thúc nếu; $$;

nơi chú토토 캔 ta giả sử chú토토 캔 ta chỉ cần đặt dấu 토토 캔oặc đơn vào tro토토 캔a_output, bởi vì nó sẽ được truy xuất lại trước khi sử dụ토토 캔.