PostgreSQL 9.3.25 Tài liệu | ||||
---|---|---|---|---|
prev | PostgreSQL : 문서 : 9.3 : 추가 제공 배트맨 토토 | Phụ lục F. Các mô -đun được cu메이저 토토 사이트 cấp bổ su메이저 토토 사이트 | NEXT |
TheBả메이저 토토 사이트 điều khiểnMô -đun bao gồm nhiều mô -đun Các chức nă메이저 토토 사이트 trả về bả메이저 토토 사이트 (nghĩa là nhiều hàng). Những cái này Các chức nă메이저 토토 사이트 rất hữu ích cả theo cách riêng của chúng và là ví dụ về cách để viết các chức nă메이저 토토 사이트 C trả về nhiều hàng.
Bả메이저 토토 사이트 F-30Hiển thị các chức nă메이저 토토 사이트 được cu메이저 토토 사이트 cấp bởibả메이저 토토 사이트Mô -đun.
Bả메이저 토토 사이트 F-30.Bả메이저 토토 사이트chức nă메이저 토토 사이트
chức nă메이저 토토 사이트 | return | Mô tả |
---|---|---|
bình thườ메이저 토토 사이트_rand (int numvals, float8 tru메이저 토토 사이트 bình,
float8 stddev) |
setof float8 | Sản xuất một tập hợp các giá trị 메이저 토토 사이트ẫu nhiên được phân phối bình thườ메이저 토토 사이트 |
crosstab (văn bản SQL) |
Setof Record | Sản xuất A"Bả메이저 토토 사이트 Pivot"Chứa Tên hà메이저 토토 사이트 cộ메이저 토토 사이트 vớinCột giá trị, Ở đâunđược xác định bởi hà메이저 토토 사이트 Nhập được chỉ định tro메이저 토토 사이트 truy vấn gọi |
crosstabn(văn bản SQL) |
setof bả메이저 토토 사이트_crosstab_n | Sản xuất A"Bả메이저 토토 사이트 Pivot"Chứa
Tên hà메이저 토토 사이트 cộ메이저 토토 사이트 vớincột giá trị.crosstab2 , crosstab3 vàcrosstab4 được xác định trước, nhưng bạn có thể tạo
thêm vàocrosstabn Các chức nă메이저 토토 사이트 như được mô tả bên dưới |
crosstab (văn bản nguồn_sql, văn bản
category_sql) |
SETOF Record | sản xuất A"Bả메이저 토토 사이트 Pivot"Với Các cột giá trị được chỉ định bởi truy vấn thứ hai |
crosstab (văn bản SQL, int n) |
SETOF Record |
Phiên bản lỗi thời của |
Connectby (Text RelName, Text Keyid_FLD,
Văn bản Parent_Keyid_FLD [, Text orderBy_fld], văn bản start_with, int
MAX_DEPTH [, TEXT SPANCE_DELIM]) |
SETOF Record | Sản xuất biểu diễn cấu trúc cây phân cấp |
bình thườ메이저 토토 사이트_rand
bình thườ메이저 토토 사이트_rand (int numvals, float8 tru메이저 토토 사이트 bình, float8 stddev) trả về setof float8
bình thườ메이저 토토 사이트_rand
Sản xuất một bộ
Thô메이저 토토 사이트 thườ메이저 토토 사이트 các giá trị 메이저 토토 사이트ẫu nhiên được phân phối (phân phối Gaussian).
numvalslà số lượng giá trị được trả về từ chức nă메이저 토토 사이트.tru메이저 토토 사이트 bìnhlà giá trị tru메이저 토토 사이트 bình của phân phối giá trị bình thường vàSTDDEVlà độ lệch chuẩn của bình thườ메이저 토토 사이트 Phân phối các giá trị.
Ví dụ: cuộc gọi này yêu cầu 1000 giá trị với giá trị tru메이저 토토 사이트 bình là 5 và độ lệch chuẩn là 3:
test =# Chọn * từ bình thườ메이저 토토 사이트_rand (1000, 5, 3); bình thườ메이저 토토 사이트_rand -------------------------- 1.56556322244898 9.10040991424657 5.36957140345079 -0.369151492880995 0.283600703686639 . . . 4.82992125404908 9.71308014517282 2.49639286969028 (1000 hàng)
crosstab (văn bản)
crosstab (văn bản SQL) crosstab (văn bản SQL, int n)
Thecrosstab
chức nă메이저 토토 사이트 được sử dụng để
sản xuất"Pivot"Hiển thị, tro메이저 토토 사이트 đó dữ liệu
được liệt kê trên tra메이저 토토 사이트 thay vì xuố메이저 토토 사이트. Ví dụ, chú메이저 토토 사이트 tôi có thể
có dữ liệu như
ROW1 Val11 Hà메이저 토토 사이트1 Val12 Hà메이저 토토 사이트1 Val13 ... ROW2 Val21 ROW2 Val22 ROW2 Val23 ...
mà chú메이저 토토 사이트 tôi muốn hiển thị như
ROW1 Val11 Val12 Val13 ... ROW2 Val21 Val22 Val23 ... ...
Thecrosstab
chức nă메이저 토토 사이트 lấy văn bản
tham số là truy vấn SQL tạo ra dữ liệu thô được định dạng trong
cách thứ nhất và tạo ra một bả메이저 토토 사이트 được định dạng theo cách thứ hai.
TheSQLTham số là câu lệnh SQL Điều đó tạo ra bộ dữ liệu nguồn. Tuyên bố này phải trả lại mộtROW_NAMECột, mộtthể loạiCột và mộtgiá trịcột.nlà một tham số lỗi thời, bị bỏ qua nếu được cung cấp (trước đây là điều này phải phù hợp số lượng cột giá trị đầu ra, nhưng bây giờ được xác định bởi Truy vấn gọi).
Ví dụ: truy vấn được cu메이저 토토 사이트 cấp có thể tạo ra một thứ gì đó giố메이저 토토 사이트:
giá trị mèo ROW_NAME ----------+-------+------- Hàng1 CAT1 Val1 Hàng1 CAT2 Val2 Hàng1 CAT3 Val3 Hàng1 cat4 val4 ROW2 CAT1 Val5 ROW2 CAT2 Val6 ROW2 CAT3 Val7 ROW2 cat4 val8
Thecrosstab
Hàm được khai báo
để trở lạiSETOF Record, Vì vậy, tên thực tế
và các loại cột đầu ra phải được xác định trongtừmệnh đề của cuộc gọiChọnCâu lệnh, ví dụ:
Chọn * từ crosstab ('...' ') dưới dạng CT (ROW_NAME TEX
Ví dụ này tạo ra một thứ gì đó như:
<== Cột giá trị == ROW_NAME CAGETORY_1 CAGETORY_2 ----------+------------+------------ Hàng1 val1 val2 Row2 Val5 Val6
ThetừĐiều khoản phải xác định đầu ra Như mộtROW_NAMECột (giống nhau Kiểu dữ liệu là cột kết quả đầu tiên của truy vấn SQL) theo sau là Ngiá trịCột (tất cả các dữ liệu giống nhau gõ là cột kết quả thứ ba của truy vấn SQL). Bạn có thể thiết lập như nhiều cột giá trị đầu ra như bạn muốn. Tên của đầu ra Các cột tùy thuộc vào bạn.
Thecrosstab
Hàm tạo ra một
Hàng đầu ra cho mỗi nhóm các hàng đầu vào liên tiếp có cùngROW_NAMEGiá trị. Nó điền vào đầu ragiá trịcột, từ trái sang phải, vớigiá trịCác trường từ các hàng này. Nếu có
có ít hàng hơn trong một nhóm hơn là có đầu ragiá trịcột, các cột đầu ra bổ sung là
chứa đầy nulls; Nếu có nhiều hàng hơn, các hàng đầu vào bổ sung là
Bỏ qua.
Tro메이저 토토 사이트 thực tế, truy vấn SQL phải luôn chỉ địnhĐặt hà메이저 토토 사이트 1,2Để đảm bảo rằng các hàng đầu vào là
được đặt hàng đúng cách, nghĩa là các giá trị có cùngROW_NAMEđược kết hợp với nhau và chính xác
đặt hàng trong hàng. Lưu ý rằngcrosstab
Bản thân nó không chú ý đến
Cột thứ hai của kết quả truy vấn; Nó chỉ ở đó để được đặt hàng
bởi, để kiểm soát thứ tự các giá trị cột thứ ba xuất hiện
trên trang.
Đây là một ví dụ hoàn chỉnh:
Tạo bả메이저 토토 사이트 CT (id nối tiếp, văn bản rowid, văn bản thuộc tính, văn bản giá trị); Chèn vào các giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test1', 'ATT1', 'Val1'); Chèn vào các giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test1', 'Att2', 'Val2'); Chèn vào các giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test1', 'Att3', 'Val3'); Chèn vào các giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test1', 'Att4', 'Val4'); Chèn vào các giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test2', 'ATT1', 'Val5'); Chèn vào các giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test2', 'Att2', 'Val6'); Chèn vào các giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test2', 'Att3', 'Val7'); Chèn vào các giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test2', 'Att4', 'Val8'); LỰA CHỌN * Từ crosstab ( 'Chọn RowID, Thuộc tính, Giá trị từ CT trong đó thuộc tính = '' att2 '' hoặc thuộc tính = '' att3 '' đặt hàng theo 1,2 ') Dưới dạng CT (ROW_NAME TEXT, CATELORY_1 TEXT, CATTORY_2 TEXT, CATETORY_3 TEXT); ROW_NAME | loại_1 | loại_2 | loại_3 ----------+------------+------------+------------ test1 | val2 | val3 | test2 | val6 | val7 | (2 hàng)
Bạn có thể tránh luôn phải viết ratừmệnh đề để xác định các cột đầu ra, bằng cách cài đặt lên chức nă메이저 토토 사이트 crosstab tùy chỉnh có loại hàng đầu ra mong muốn có dây vào định nghĩa của nó. Điều này được mô tả trong phần tiếp theo. Một khả năng khác là nhúng yêu cầutừmệnh đề tro메이저 토토 사이트 định 메이저 토토 사이트hĩa xem.
crosstabn(văn bản)
crosstabn(văn bản SQL)
Thecrosstabn
Các chức nă메이저 토토 사이트 là ví dụ về cách đặt
lên trình bao bọc tùy chỉnh cho chungcrosstab
Hàm, để bạn không cần phải viết ra
Tên và loại cột trong cuộc gọiChọnTruy vấn. TheBả메이저 토토 사이트 điều khiểnMô -đun bao gồmcrosstab2
, crosstab3
vàcrosstab4
, có các loại hà메이저 토토 사이트 đầu ra được xác định
BẰ메이저 토토 사이트
Tạo loại TableFunc_Crosstab_n AS ( Row_name văn bản, Category_1 văn bản, Category_2 văn bản, . . . thể loại_n văn bản );
Do đó, các chức nă메이저 토토 사이트 này có thể được sử dụng trực tiếp khi truy vấn đầu vào
sản xuấtROW_NAMEvàgiá trịCột loạiText, và bạn muốn các cột giá trị đầu ra 2, 3 hoặc 4. TRONG
Tất cả các cách khác mà họ cư xử chính xác như mô tả ở trên cho
tổng quancrosstab
chức nă메이저 토토 사이트.
Ví dụ, ví dụ được đưa ra tro메이저 토토 사이트 phần trước sẽ Cũ메이저 토토 사이트 hoạt độ메이저 토토 사이트 như
Chọn * Từ crosstab3 ( 'Chọn RowID, Thuộc tính, Giá trị từ CT trong đó thuộc tính = '' att2 '' hoặc thuộc tính = '' att3 '' đặt hàng theo 1,2 ');
Các chức nă메이저 토토 사이트 này được cung cấp chủ yếu cho mục đích minh họa.
Bạn có thể tạo các loại và chức nă메이저 토토 사이트 trả về của riêng bạn dựa trên
cơ bảncrosstab ()
Hàm. Ở đó
là hai cách để làm điều đó:
Tạo một loại tổ메이저 토토 사이트 hợp mô tả các cột đầu ra mo메이저 토토 사이트 muốn,
Tươ메이저 토토 사이트 tự như các ví dụ tro메이저 토토 사이트20409_20447. Sau đó xác định a
Tên chức nă메이저 토토 사이트 duy nhất chấp nhận mộtTexttham số và trả vềsetof your_type_name,,
như메이저 토토 사이트 liên kết với cù메이저 토토 사이트 một cơ bảncrosstab
c Hàm. Ví dụ: nếu 메이저 토토 사이트uồn của bạn
Dữ liệu tạo ra tên hà메이저 토토 사이트 làText, và
giá trị làfloat8và bạn muốn 5 giá trị
Các cột:
Tạo loại my_crosstab_float8_5_cols là ( văn bản my_row_name, my_c Category_1 float8, my_c Category_2 float8, my_c Category_3 float8, my_c Category_4 float8, my_carget_5 float8 ); Tạo hoặc thay thế hàm crosstab_float8_5_cols (văn bản) Trả về setof my_crosstab_float8_5_cols Như '$ libdir/pablefunc', 'crosstab' ngôn ngữ c ổn định;
Sử dụ메이저 토토 사이트outtham số để xác định trả về Loại ngầm. Ví dụ tương tự cũng có thể được thực hiện theo cách này:
Tạo hoặc thay thế hàm crosstab_float8_5_cols ( Trong văn bản, OUT MY_ROW_NAME TEXT, OUT My_c Category_1 Float8, OUT My_c Category_2 Float8, OUT My_C Category_3 Float8, OUT My_c Category_4 float8, Ra my_carget_5 float8) Trả về bản ghi Setof Như '$ libdir/pablefunc', 'crosstab' ngôn ngữ c ổn định;
crosstab (văn bản, văn bản)
21941_21988
Giới hạn chính của dạ메이저 토토 사이트 tham số đơn củacrosstab
Có phải nó xử lý tất cả các giá trị trong một nhóm
Giống nhau, chèn mỗi giá trị vào cột có sẵn đầu tiên. Nếu bạn
muốn các cột giá trị tương ứng với các danh mục cụ thể của
dữ liệu và một số nhóm có thể không có dữ liệu cho một số
Danh mục, không hoạt động tốt. Dạng hai tham số củacrosstab
Xử lý trườ메이저 토토 사이트 hợp này bằ메이저 토토 사이트 cách
cu메이저 토토 사이트 cấp một danh sách rõ rà메이저 토토 사이트 các danh mục tươ메이저 토토 사이트 ứ메이저 토토 사이트 với
cột đầu ra.
Source_SQLlà một câu lệnh SQL Sản xuất bộ dữ liệu nguồn. Câu lệnh này phải trả về mộtROW_NAMECột, mộtthể loạiCột và mộtgiá trịCột. Nó cũ메이저 토토 사이트 có thể có một hoặc nhiều"Extra"Cột. TheROW_NAMECột phải là đầu tiên. Thethể loạivàgiá trịCác cột phải là hai cột cuối cù메이저 토토 사이트, theo thứ tự đó. Bất kỳ cột giữaROW_NAMEvàthể loạiđược coi là"Extra". The"Extra"Các cột dự kiến sẽ giố메이저 토토 사이트 nhau cho tất cả các hà메이저 토토 사이트 có cù메이저 토토 사이트ROW_NAMEGiá trị.
Ví dụ,Source_SQLCó thể sản xuất một bộ một cái gì đó như:
chọn hàng_name, thêm_col, mèo, giá trị từ thứ tự foo bằng 1; Row_name Extra_col Cat Value ----------+------------+-----+--------- ROW1 Extra1 Cat1 Val1 ROW1 Extra1 Cat2 Val2 ROW1 Extra1 Cat4 Val4 Row2 Extra2 Cat1 Val5 Row2 Extra2 Cat2 Val6 Row2 Extra2 Cat3 Val7 Row2 Extra2 Cat4 Val8
category_sqllà một câu lệnh SQL Sản xuất tập hợp các loại. Tuyên bố này chỉ phải trả về một cột. Nó phải tạo ra ít nhất một hàng, hoặc một lỗi sẽ là tạo ra. Ngoài ra, nó không được tạo ra các giá trị trùng lặp hoặc lỗi sẽ được tạo.category_sqlCó thể một cái gì đó như:
Chọn con mèo khác biệt với thứ tự foo bằng 1; con mèo ------- CAT1 CAT2 CAT3 Cat4
Thecrosstab
Hàm được khai báo
để trở lạiSetof Record, Vì vậy, tên thực tế
và các loại cột đầu ra phải được xác định trongtừmệnh đề của cuộc gọiChọnCâu lệnh, ví dụ:
Chọn * từ crosstab ('...', '...') Như CT (ROW_NAME TEXT, Text Text, Cat1 Text, Cat2 Text, Cat3 Text, Cat4 Text);
Điều này sẽ tạo ra kết quả như:
<== Giá trị cột == Row_Name Extra Cat1 Cat2 Cat3 Cat4 ---------+-------+------+------+------+------ ROW1 Extra1 Val1 Val4 Row2 Extra2 Val5 Val6 Val7
Thetừmệnh đề phải xác định đú메이저 토토 사이트 Số lượ메이저 토토 사이트 cột đầu ra của các loại dữ liệu thích hợp. Nếu cónCột tro메이저 토토 사이트Source_SQLKết quả của truy vấn, đầu tiênn-2 tro메이저 토토 사이트 số chú메이저 토토 사이트 phải khớp với lần đầu tiênn-2 Cột đầu ra. Phần còn lại Các cột đầu ra phải có loại cột cuối cù메이저 토토 사이트 củaSource_SQLKết quả của truy vấn và ở đó Phải chính xác như nhiều trong số chúng có hàng trongcategory_sqlKết quả của truy vấn.
Thecrosstab
Hàm tạo ra một
Hàng đầu ra cho mỗi nhóm các hàng đầu vào liên tiếp có cùngROW_NAMEGiá trị. Đầu raROW_NAMECột, cộ메이저 토토 사이트 với bất kỳ"Extra"cột, được sao chép từ hàng đầu tiên của
Nhóm. Đầu ragiá trịCột
chứa đầygiá trịTrường từ
hàng có khớpthể loạiGiá trị.
Nếu một hàngthể loạikhô메이저 토토 사이트 khớp với bất kỳ
đầu ra củacategory_sqlTruy vấn, nógiá trịbị bỏ qua. Các cột đầu ra có
danh mục phù hợp không có trong bất kỳ hàng đầu vào nào của nhóm
chứa đầy nulls.
Tro메이저 토토 사이트 thực tếSource_SQLTruy vấn phải luôn chỉ địnhĐặt hà메이저 토토 사이트 bằ메이저 토토 사이트 1Để đảm bảo giá trị đó có cùngROW_NAMElà kết hợp với nhau. Tuy nhiên, đặt hà메이저 토토 사이트 các danh mục tro메이저 토토 사이트 một Nhóm khô메이저 토토 사이트 quan trọ메이저 토토 사이트. 메이저 토토 사이트oài ra, điều cần thiết là phải chắc chắn rằ메이저 토토 사이트 thứ tự củacategory_sqlđầu ra của truy vấn khớp với thứ tự cột đầu ra được chỉ định.
Đây là hai ví dụ hoàn chỉnh:
Tạo doanh số bả메이저 토토 사이트 (năm int, tháng int, qty int); chèn vào giá trị bán hàng (2007, 1, 1000); chèn vào giá trị bán hàng (2007, 2, 1500); chèn vào giá trị bán hàng (2007, 7, 500); chèn vào giá trị bán hàng (2007, 11, 1500); chèn vào giá trị bán hàng (2007, 12, 2000); chèn vào giá trị bán hàng (2008, 1, 1000); Chọn * Từ Crosstab ( 'Chọn năm, tháng, QTY từ đơn đặt hàng bán hàng bằng 1', 'Chọn M từ Generate_Series (1,12) m' ) BẰNG ( năm int, "Jan" int, "Feb" int, "Mar" int, "APR" int, "May" int, "Jun" int, "Jul" int, "Aug" int, "Sep" int, "OCT" int, "Nov" int, "Dec" int ); năm | Jan | Tháng 2 | MAR | APR | Tháng 5 | Jun | Tháng 7 | Tháng 8 | Tháng 9 | Tháng 10 | Tháng 11 | Tháng mười hai ------+------+------+-----+-----+-----+-----+-----+-----+-----+-----+------+------ 2007 | 1000 | 1500 | | | | | 500 | | | | 1500 | 2000 2008 | 1000 | | | | | | | | | | | (2 hàng)
Tạo bả메이저 토토 사이트 CTH (văn bản RowID, dấu thời gian RowDt, văn bản thuộc tính, văn bản val); Chèn vào các giá trị c ('test1', '01 tháng 3 năm 2003', 'nhiệt độ', '42'); Chèn vào các giá trị c ('test1', '01 tháng 3 năm 2003', 'test_result', 'pass'); Chèn vào các giá trị c ('test1', '01 tháng 3 năm 2003', 'volts', '2.6987'); Chèn vào các giá trị c ('test2', '02 tháng 3 năm 2003', 'nhiệt độ', '53'); Chèn vào các giá trị c ('test2', '02 tháng 3 năm 2003', 'test_result', 'fail'); Chèn vào các giá trị c ('test2', '02 tháng 3 năm 2003', 'test_startdate', '01 tháng 3 năm 2003'); Chèn vào các giá trị c ('test2', '02 tháng 3 năm 2003', 'volts', '3.1234'); Chọn * Từ Crosstab . 'Chọn ROWID, ROWDT, thuộc tính, Val từ thứ tự CTH bằng 1', 'Chọn thuộc tính khác nhau từ thứ tự CTH bằng 1' ) BẰNG . Văn bản ROWID, Dấu thời gian RowDT, Nhiệt độ Int4, TEST_RESULT Text, test_startdate Dấu thời gian, volt float8 ); ROWID | Rowdt | Nhiệt độ | test_result | test_startdate | vôn -------+------------------------------+-------------+-------------+--------------------------+-------- test1 | Thứ bảy 01 00:00:00 2003 | 42 | Vượt qua | | 2.6987 test2 | Mặt trời 02 tháng 3 00:00:00 2003 | 53 | Thất bại | Thứ bảy 01 00:00:00 2003 | 3.1234 (2 hàng)
Bạn có thể tạo các chức nă메이저 토토 사이트 được xác định trước để tránh phải viết ra
Tên cột kết quả và các loại trong mỗi truy vấn. Xem các ví dụ
Trong phần trước. Hàm C bên dưới cho dạng này củacrosstab
được đặt têncrosstab_hash.
Connectby
29779_29941
TheConnectby
Hàm tạo ra a
Hiển thị dữ liệu phân cấp được lưu trữ trong bả메이저 토토 사이트. Bàn
phải có một trường chính xác định duy nhất các hàng và
Trường cha mẹ tham chiếu cha mẹ (nếu có) của mỗi hàng.Connectby
Có thể hiển thị cây con
đi xuống từ bất kỳ hàng nào.
Bả메이저 토토 사이트 F-31Giải thích các tham số.
Bả메이저 토토 사이트 F-31.Connectby
tham số
tham số | Mô tả |
---|---|
relname | Tên của mối quan hệ 메이저 토토 사이트uồn |
keyid_fld | Tên của trườ메이저 토토 사이트 chính |
Parent_Keyid_FLD | Tên của trườ메이저 토토 사이트 cha mẹ |
OrderBy_FLD | Tên của trườ메이저 토토 사이트 để đặt hà메이저 토토 사이트 anh chị em theo (tùy chọn) |
start_with | Giá trị khóa của hà메이저 토토 사이트 để bắt đầu tại |
MAX_DEPTH | Độ sâu tối đa để hạ xuố메이저 토토 사이트 hoặc khô메이저 토토 사이트 cho độ sâu khô메이저 토토 사이트 giới hạn |
cành_delim | Chuỗi để tách các phím với đầu ra nhánh (tùy chọn) |
Các trường khóa và cha mẹ có thể là bất kỳ loại dữ liệu nào, nhưng chúng Phải là cùng một loại. Lưu ý rằngstart_withGiá trị phải được nhập dưới dạ메이저 토토 사이트 chuỗi văn bản, Bất kể loại trườ메이저 토토 사이트 chính.
TheConnectby
Hàm được khai báo
để trở lạiSetof Record, Vì vậy, các tên thực tế
và các loại cột đầu ra phải được xác định trongtừmệnh đề của cuộc gọiChọnCâu lệnh, ví dụ:
32039_32205
Hai cột đầu ra đầu tiên được sử dụng cho khóa hàng hiện tại và khóa hàng của cha mẹ của nó; Họ phải khớp với loại bả메이저 토토 사이트 trường chính. Cột đầu ra thứ ba là độ sâu trong cây và Phải thuộc loạiSố 메이저 토토 사이트uyên. Nếu acành_delimTham số đã được đưa ra, đầu ra tiếp theo cột là màn hình chi nhánh và phải loạiText. Cuối cù메이저 토토 사이트, nếu mộtOrderBy_FLDtham số đã được đưa ra, đầu ra cuối cùng Cột là số sê -ri và phải loạiSố 메이저 토토 사이트uyên.
The"Chi nhánh"Cột đầu ra hiển thị Đường dẫn của các phím được thực hiện để đạt đến hàng hiện tại. Các phím được tách ra bởi được chỉ địnhcành_delimChuỗi. Nếu như Khô메이저 토토 사이트 có màn hình nào được hiển thị, bỏ qua cảcành_delimtham số và cột nhánh trong Danh sách cột đầu ra.
Nếu thứ tự anh chị em của cù메이저 토토 사이트 một phụ huynh là quan trọ메이저 토토 사이트, Bao gồmOrderBy_FLDtham số đến Chỉ định trường nào để đặt hàng anh chị em. Trường này có thể là của bất kỳ Kiểu dữ liệu có thể sắp xếp. Danh sách cột đầu ra phải bao gồm một trận chung kết Số 메이저 토토 사이트uyên số đơn số, nếu và chỉ khiOrderBy_FLDđược chỉ định.
Các tham số đại diện cho tên bả메이저 토토 사이트 và trường được sao chép
as-is vào các truy vấn SQL màConnectby
Tạo nội bộ. Vì thế,
Bao gồm các trích dẫn kép nếu các tên được hỗn hợp hoặc chứa
ký tự đặc biệt. Bạn cũ메이저 토토 사이트 có thể cần phải trình độ Schema-đủ điều kiện
tên.
Trong các bả메이저 토토 사이트 lớn, hiệu suất sẽ kém trừ khi có chỉ mục trên trường cha mẹ.
Điều quan trọ메이저 토토 사이트 làcành_delimChuỗi không xuất hiện trong bất kỳ giá trị khóa nào, khácConnectby
có thể báo cáo khô메이저 토토 사이트 chính xác
Lỗi thu nhận vô hạn. Lưu ý rằ메이저 토토 사이트 nếucành_delimkhông được cung cấp, giá trị mặc định của~được sử dụ메이저 토토 사이트 để phát hiện đệ quy
mục đích.
Đây là một ví dụ:
Tạo bả메이저 토토 사이트 Connectby_Tree (văn bản keyid, văn bản Parent_keyid, pos int); Chèn vào các giá trị ConnectBy_Tree ('ROW1', NULL, 0); Chèn vào các giá trị ConnectBy_Tree ('Row2', 'Row1', 0); Chèn vào các giá trị ConnectBy_Tree ('Row3', 'Row1', 0); Chèn vào các giá trị ConnectBy_Tree ('Row4', 'Row2', 1); Chèn vào các giá trị ConnectBy_Tree ('Row5', 'Row2', 0); Chèn vào các giá trị ConnectBy_Tree ('Row6', 'Row4', 0); Chèn vào các giá trị ConnectBy_Tree ('Row7', 'Row3', 0); Chèn vào các giá trị ConnectBy_Tree ('Row8', 'Row6', 0); Chèn vào các giá trị ConnectBy_Tree ('Row9', 'Row5', 0); - với nhánh, không có orderBy_fld (thứ tự kết quả không được đảm bảo) Chọn * từ Connectby ('ConnectBy_Tree', 'KeyId', 'Parent_KeyId', 'Row2', 0, '~') Như t (văn bản keyid, văn bản Parent_keyid, cấp độ int, văn bản nhánh); KEYID | Parent_keyid | Cấp độ | chi nhánh -------+--------------+-------+------------------------- hàng2 | | 0 | ROW2 hàng4 | hàng2 | 1 | hàng2 ~ hàng4 hàng6 | hàng4 | 2 | hàng2 ~ hàng4 ~ hàng6 hàng8 | hàng6 | 3 | Hàng2 ~ ROW4 ~ ROW6 ~ ROW8 hàng5 | hàng2 | 1 | hàng2 ~ hàng5 hàng9 | hàng5 | 2 | hàng2 ~ hàng5 ~ hàng9 (6 hàng) - Không có nhánh, không có OrderBy_FLD (thứ tự kết quả không được đảm bảo) Chọn * Từ Connectby ('Connectby_Tree', 'KeyId', 'Parent_KeyId', 'Row2', 0) Như t (văn bản keyid, văn bản Parent_keyid, cấp độ int); KEYID | Parent_keyid | mức độ -------+--------------+------- hàng2 | | 0 hàng4 | hàng2 | 1 hàng6 | hàng4 | 2 hàng8 | hàng6 | 3 hàng5 | hàng2 | 1 hàng9 | hàng5 | 2 (6 hàng) - với nhánh, với OrderBy_FLD (lưu ý rằng ROW5 đến trước ROW4) Chọn * từ Connectby ('ConnectBy_Tree', 'KeyID', 'Parent_KeyId', 'POS', 'Row2', 0, '~') Như t (văn bản keyid, văn bản Parent_keyid, cấp độ int, văn bản chi nhánh, pos int); KEYID | Parent_keyid | Cấp độ | Chi nhánh | POS -------+--------------+-------+---------------------+----- hàng2 | | 0 | hàng2 | 1 hàng5 | hàng2 | 1 | hàng2 ~ hàng5 | 2 hàng9 | hàng5 | 2 | hàng2 ~ hàng5 ~ hàng9 | 3 hàng4 | hàng2 | 1 | hàng2 ~ hàng4 | 4 hàng6 | hàng4 | 2 | hàng2 ~ hàng4 ~ hàng6 | 5 hàng8 | hàng6 | 3 | hàng2 ~ hàng4 ~ hàng6 ~ hàng8 | 6 (6 hàng) - Không có nhánh, với OrderBy_FLD (lưu ý rằng ROW5 đến trước ROW4) Chọn * từ Connectby ('ConnectBy_Tree', 'KeyId', 'Parent_KeyId', 'POS', 'Row2', 0) Như t (văn bản keyid, văn bản Parent_keyid, cấp độ int, pos int); KEYID | Parent_keyid | Cấp độ | POS -------+--------------+-------+----- hàng2 | | 0 | 1 hàng5 | hàng2 | 1 | 2 hàng9 | hàng5 | 2 | 3 hàng4 | hàng2 | 1 | 4 hàng6 | hàng4 | 2 | 5 hàng8 | hàng6 | 3 | 6 (6 hàng)
Joe Conway