Postgresql 8.3.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Phụ lục F. kèo tỷ số bóng đá euro hôm nay mô -đun được cung cấp bổ sung | Chuyển tiếp nhanh | NEXT |
ThebảngMô -đun bao gồm kèo tỷ số bóng đá euro hôm nay chức năng khác nhau trả về bảng (nghĩa là nhiều hàng). kèo tỷ số bóng đá euro hôm nay chức năng này hữu ích cả theo cách riêng của chúng và là Ví dụ về cách viết kèo tỷ số bóng đá euro hôm nay chức năng C trả về nhiều hàng.
Bảng F-33.Bảng điều khiểnchức năng
chức năng | Trả về | Mô tả |
---|---|---|
bình thường_rand (int numvals,
float8 trung bình, float8 stddev) |
setof float8 | Sản xuất một tập hợp ngẫu nhiên phân phối bình thường Giá trị |
crosstab (văn bản
SQL) |
SETOF Record | Sản xuất A"Bảng Pivot"chứa tên kèo tỷ số bóng đá euro hôm nay cộng vớinkèo tỷ số bóng đá euro hôm nay giá trị, trong đónđược xác định bởi RowType được chỉ định trong truy vấn gọi |
crosstabn(văn bản SQL) |
setof bảng_crosstab_n | Sản xuất A"Bảng Pivot"chứa tên kèo tỷ số bóng đá euro hôm nay cộng vớinkèo tỷ số bóng đá euro hôm nay giá trị.crosstab2 , crosstab3 vàcrosstab4 được xác định trước, nhưng bạn có thể
Tạo bổ sungcrosstabn kèo tỷ số bóng đá euro hôm nay chức năng như mô tả
dưới |
crosstab (văn bản nguồn_sql,
Text Category_SQL) |
Setof Record | Sản xuất A"Bảng Pivot"Với kèo tỷ số bóng đá euro hôm nay 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, văn bản
keyid_fld, văn bản Parent_keyid_fld [, text orderBy_fld],
Văn bản start_with, int max_depth [, text cành_delim
]) |
Setof Record | Tạo ra một đại diện của một cây phân cấp kết cấu |
bình thường_rand
13131_13213
bình thường_rand
Sản xuất một tập hợp
của kèo tỷ số bóng đá euro hôm nay giá trị ngẫu nhiên phân phối bình thường (Gaussian
phân bổ).
numvalslà số lượng giá trị được trả về từ chức năng.trung bìnhlà trung bình của phân phối bình thường của kèo tỷ số bóng đá euro hôm nay giá trị vàSTDDEVlà Độ lệch chuẩn của phân phối giá trị bình thường.
Ví dụ: cuộc gọi này yêu cầu 1000 giá trị với giá trị trung bình của 5 và độ lệch chuẩn là 3:
test =# Chọn * từ bình thường_rand (1000, 5, 3); bình thường_rand -------------------------- 1.56556322244898 9.10040991424657 5.36957140345079 -0.369151492880995 0.283600703686639 . . . 4.82992125404908 9.71308014517282 2.49639286969028 (1000 kèo tỷ số bóng đá euro hôm nay)
crosstab (văn bản)
crosstab (văn bản SQL) crosstab (văn bản SQL, int n)
Thecrosstab
Hàm là
Được sử dụng để sản xuất"Pivot"Hiển thị,
trong đó dữ liệu được liệt kê trên trang thay vì xuống. Vì
Ví dụ, chúng ta có thể có dữ liệu như
ROW1 Val11 Hàng1 Val12 Hàng1 Val13 ... ROW2 Val21 ROW2 Val22 ROW2 Val23 ...
mà chúng tôi muốn hiển thị như
ROW1 Val11 Val12 Val13 ... ROW2 Val21 Val22 Val23 ... ...
Thecrosstab
Hàm lấy
tham số văn bản là truy vấn SQL tạo dữ liệu thô
được định dạng theo cách đầu tiên và tạo ra một bảng được định dạng trong
cách thứ hai.
TheSQLtham số là SQL Tuyên bố tạo ra bộ dữ liệu nguồn. Cái này câu lệnh phải trả về mộtROW_NAMEkèo tỷ số bóng đá euro hôm nay, mộtthể loạikèo tỷ số bóng đá euro hôm nay và mộtgiá trịkèo tỷ số bóng đá euro hôm nay.nlà một tham số lỗi thời, bị bỏ qua nếu được cung cấp (trước đây phải khớp với số lượng kèo tỷ số bóng đá euro hôm nay giá trị đầu ra, nhưng bây giờ được xác định bởi truy vấn gọi điện).
Ví dụ: truy vấn được cung cấp có thể tạo ra một bộ một cái gì đó như:
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 là
tuyên bố trả lạiSetof Record, Vì vậy,
Tên và loại thực tế của kèo tỷ số bóng đá euro hôm nay 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ư:
<== Giá trị kèo tỷ số bóng đá euro hôm nay == ROW_NAME CAGETORY_1 CAGETORY_2 ---------+------------+------------ Hàng1 val1 val2 Row2 Val5 Val6
Thetừmệnh đề phải xác định đầu ra là mộtROW_NAMEkèo tỷ số bóng đá euro hôm nay (của cùng một kiểu dữ liệu như kèo tỷ số bóng đá euro hôm nay kết quả đầu tiên của SQL truy vấn) theo sau là ngiá trịCột (tất cả kèo tỷ số bóng đá euro hôm nay kiểu dữ liệu giống như cột kết quả thứ ba của truy vấn SQL). Bạn có thể thiết lập càng nhiều giá trị đầu ra kèo tỷ số bóng đá euro hôm nay cột như bạn muốn. Tên của kèo tỷ số bóng đá euro hôm nay cột đầu ra đã lên cho bạn.
Thecrosstab
Hàm
tạo ra một kèo tỷ số bóng đá euro hôm nay đầu ra cho mỗi nhóm đầu vào liên tiếp
kèo tỷ số bóng đá euro hôm nay có cùngROW_NAMEGiá trị. Nó điền vào đầu ragiá trịkèo tỷ số bóng đá euro hôm nay, từ trái sang phải, vớigiá trịkèo tỷ số bóng đá euro hôm nay trường từ kèo tỷ số bóng đá euro hôm nay hàng này. Nếu có
ít hàng hơn trong một nhóm hơn là đầu ragiá trịcột, kèo tỷ số bóng đá euro hôm nay cột đầu ra bổ sung
được lấp đầy bởi nulls; Nếu có nhiều hàng hơn, thêm
Hàng đầu vào bị bỏ qua.
Trong thực tế, truy vấn SQL phải luôn chỉ địnhĐặt kèo tỷ số bóng đá euro hôm nay 1,2Để đảm bảo rằng kèo tỷ số bóng đá euro hôm nay hàng đầu vào là
được đặt hàng đúng cách, nghĩa là kèo tỷ số bóng đá euro hôm nay giá trị có cùngROW_NAMEđược kết hợp với nhau và
đặt kèo tỷ số bóng đá euro hôm nay chính xác trong kèo tỷ số bóng đá euro hôm nay. 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 kèo tỷ số bóng đá euro hôm nay bởi, để kiểm soát thứ tự trong đó cột thứ ba
giá trị xuất hiện trên trang.
Đây là một ví dụ hoàn chỉnh:
Tạo bảng 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 kèo tỷ số bóng đá euro hôm nay giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test1', 'ATT1', 'Val1'); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test1', 'Att2', 'Val2'); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test1', 'Att3', 'Val3'); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test1', 'Att4', 'Val4'); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test2', 'ATT1', 'Val5'); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test2', 'Att2', 'Val6'); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị CT (ROWID, Thuộc tính, Giá trị) ('Test2', 'Att3', 'Val7'); Chèn vào kèo tỷ số bóng đá euro hôm nay 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 kèo tỷ số bóng đá euro hôm nay cột đầu ra, bởi Thiết lập chức năng crosstab tùy chỉnh có mong muốn Loại hàng đầu ra 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 đề trong chế độ xem sự định nghĩa.
crosstabn(văn bản)
crosstabn(văn bản SQL)
Thecrosstabn
kèo tỷ số bóng đá euro hôm nay chức năng là ví dụ về cách
Để thiết lập trình bao bọc tùy chỉnh cho chungcrosstab
Hàm, để bạn không cần
ghi tên và loại kèo tỷ số bóng đá euro hôm nay trong cuộc gọiChọnTruy vấn. TheBảng điều khiểnMô -đun bao gồmcrosstab2
, crosstab3
vàcrosstab4
, có đầu ra kèo tỷ số bóng đá euro hôm nay
được định nghĩa là
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 đó, kèo tỷ số bóng đá euro hôm nay chức năng này có thể được sử dụng trực tiếp khi đầu vào
Truy vấn sản xuấtROW_NAMEvàgiá trịkèo tỷ số bóng đá euro hôm nay loạiTextvà bạn muốn 2, 3 hoặc 4 giá trị đầu ra
cột. Theo tất cả kèo tỷ số bóng đá euro hôm nay cách khác, họ cư xử chính xác như mô tả
Trên cho chungcrosstab
chức năng.
Ví dụ, ví dụ được đưa ra trong phần trước cũng sẽ hoạt động 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 kèo tỷ số bóng đá euro hôm nay theo 1,2 ');
Những chức năng này được cung cấp chủ yếu để minh họa
mục đích. Bạn có thể tạo kèo tỷ số bóng đá euro hôm nay loại và chức năng trả về của riêng bạn
dựa trên cơ bảncrosstab ()
Hàm. Có hai cách để
làm điều đó:
Tạo loại tổng hợp mô tả đầu ra mong muốn
kèo tỷ số bóng đá euro hôm nay cột, tương tự như kèo tỷ số bóng đá euro hôm nay ví dụ trong cài đặt
kịch bản. Sau đó xác định tên chức năng duy nhất chấp nhận mộtTexttham số và trả vềsetof your_type_name, nhưng liên kết
đến cùng một cơ bảncrosstab
c Hàm. Ví dụ, nếu
Dữ liệu nguồn của bạn tạo ra tên kèo tỷ số bóng đá euro hôm nay làTextvà kèo tỷ số bóng đá euro hôm nay giá trị làfloat8và bạn muốn 5 kèo tỷ số bóng đá euro hôm nay giá trị:
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ụngouttham số cần xác định loại trả về 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,
chữ)
24073_24125
Giới hạn chính của dạng tham số đơn củacrosstab
Có phải nó điều trị tất cả
kèo tỷ số bóng đá euro hôm nay giá trị trong một nhóm giống nhau, chèn từng giá trị vào giá trị đầu tiên
Cột có sẵn. Nếu bạn muốn kèo tỷ số bóng đá euro hôm nay cột giá trị tương ứng
đến kèo tỷ số bóng đá euro hôm nay danh mục dữ liệu cụ thể 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ường hợp này bằng cách cung cấp
Danh sách rõ ràng kèo tỷ số bóng đá euro hôm nay danh mục tương ứng với đầu ra
kèo tỷ số bóng đá euro hôm nay cột.
Source_SQLlà câu lệnh SQL Điều đó tạo ra bộ dữ liệu nguồn. Tuyên bố này phải trả về mộtROW_NAMEkèo tỷ số bóng đá euro hôm nay, mộtthể loạikèo tỷ số bóng đá euro hôm nay và mộtgiá trịkèo tỷ số bóng đá euro hôm nay. Nó cũng có thể có một hoặc nhiều"Extra"kèo tỷ số bóng đá euro hôm nay. TheROW_NAMEkèo tỷ số bóng đá euro hôm nay phải là đầu tiên. Thethể loạivàgiá trịcột phải là hai cột cuối cùng kèo tỷ số bóng đá euro hôm nay cột, theo thứ tự đó. Bất kỳ cột nào giữaROW_NAMEvàthể loạiđược coi là"Extra". The"Extra"kèo tỷ số bóng đá euro hôm nay cột dự kiến sẽ giống nhau cho tất cả kèo tỷ số bóng đá euro hôm nay hàng có cùngROW_NAMEGiá trị.
Ví dụ,Source_SQLcó thể tạo ra một bộ một cái gì đó như:
chọn hàng_name, Extra_col, Cat, 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à câu lệnh SQL Điều đó tạo ra tập hợp kèo tỷ số bóng đá euro hôm nay loại. Tuyên bố này phải Chỉ trả về một cột. Nó phải sản xuất ít nhất một hàng, hoặc Một lỗi sẽ được tạo ra. Ngoài ra, nó không được sản xuất kèo tỷ số bóng đá euro hôm nay giá trị trùng lặp hoặc lỗi sẽ được tạo.category_sqlcó thể là 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 là
tuyên bố trả lạiSetof Record, Vì vậy,
Tên và loại thực tế của kèo tỷ số bóng đá euro hôm nay 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ị kèo tỷ số bóng đá euro hôm nay == 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ượng cột đầu ra thích hợp của kèo tỷ số bóng đá euro hôm nay loại dữ liệu thích hợp. Nếu như Cónkèo tỷ số bóng đá euro hôm nay trongSource_SQLKết quả của truy vấn, The Đầu tiênn-2 trong số họ phải khớp với nhau lên với đầu tiênn-2 đầu ra cột. kèo tỷ số bóng đá euro hôm nay cột đầu ra còn lại phải có loại Cột cuối cùng củaSource_SQLKết quả của truy vấn và phải có chính xác nhiều trong số đó Có kèo tỷ số bóng đá euro hôm nay trongcategory_sqlKết quả của truy vấn.
Thecrosstab
Hàm
tạo ra một kèo tỷ số bóng đá euro hôm nay đầu ra cho mỗi nhóm đầu vào liên tiếp
kèo tỷ số bóng đá euro hôm nay có cùngROW_NAMEGiá trị. Đầu raROW_NAMEkèo tỷ số bóng đá euro hôm nay, cộng với bất kỳ"Extra"Cột,
được sao chép từ kèo tỷ số bóng đá euro hôm nay đầu tiên của nhóm. Đầu ragiá trịkèo tỷ số bóng đá euro hôm nay cột được lấp đầy bằng
Thegiá trịkèo tỷ số bóng đá euro hôm nay trường từ kèo tỷ số bóng đá euro hôm nay hàng
Có phù hợpthể loạiGiá trị.
Nếu một kèo tỷ số bóng đá euro hôm naythể loạikhông
khớp với bất kỳ đầu ra nào củacategory_sqlTruy vấn, nógiá trịbị bỏ qua. kèo tỷ số bóng đá euro hôm nay 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.
Trong thực tếSource_SQLTruy vấn phải luôn chỉ địnhThứ tự bởi 1Để đảm bảo rằng kèo tỷ số bóng đá euro hôm nay giá trị có cùngROW_NAMEđược kết hợp với nhau. Tuy nhiên, Đặt hàng kèo tỷ số bóng đá euro hôm nay danh mục trong một nhóm không quan trọng. Ngoài ra, điều cần thiết là phải chắc chắn rằng thứ tự củacategory_sqlđầu ra của truy vấn khớp với thứ tự kèo tỷ số bóng đá euro hôm nay đầu ra được chỉ định.
Đây là hai ví dụ hoàn chỉnh:
Tạo doanh số bảng (năm int, tháng int, qty int); chèn vào giá trị bán kèo tỷ số bóng đá euro hôm nay (2007, 1, 1000); chèn vào giá trị bán kèo tỷ số bóng đá euro hôm nay (2007, 2, 1500); chèn vào giá trị bán kèo tỷ số bóng đá euro hôm nay (2007, 7, 500); chèn vào giá trị bán kèo tỷ số bóng đá euro hôm nay (2007, 11, 1500); chèn vào giá trị bán kèo tỷ số bóng đá euro hôm nay (2007, 12, 2000); chèn vào giá trị bán kèo tỷ số bóng đá euro hôm nay (2008, 1, 1000); Chọn * Từ Crosstab ( 'Chọn năm, tháng, QTY từ đơn đặt kèo tỷ số bóng đá euro hôm nay bán kèo tỷ số bóng đá euro hôm nay 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 kèo tỷ số bóng đá euro hôm nay)
30832_32096
Bạn có thể tạo kèo tỷ số bóng đá euro hôm nay chức năng được xác định trước để tránh phải
Viết ra kèo tỷ số bóng đá euro hôm nay tên và loại kết quả trong mỗi truy vấn.
Xem kèo tỷ số bóng đá euro hôm nay ví dụ trong phần trước. kèo tỷ số bóng đá euro hôm nay cơ bản c
chức năng cho hình thức nàycrosstab
được đặt têncrosstab_hash.
Connectby
32636_32803
TheConnectby
Hàm
tạo ra một màn hình hiển thị dữ liệu phân cấp được lưu trữ trong một
bàn. Bảng phải có một trường chính một cách duy nhất
xác định kèo tỷ số bóng đá euro hôm nay 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ỳ kèo tỷ số bóng đá euro hôm nay nào.
Bảng F-34.Connectby
tham số
tham số | Mô tả |
---|---|
Relname | Tên của mối quan hệ nguồn |
keyid_fld | Tên của trường chính |
Parent_Keyid_FLD | Tên của trường cha mẹ |
OrderBy_FLD | Tên của trường để đặt kèo tỷ số bóng đá euro hôm nay anh chị em (không bắt buộc) |
start_with | Giá trị khóa của kèo tỷ số bóng đá euro hôm nay để bắt đầu tại |
MAX_DEPTH | Độ sâu tối đa để xuống hoặc không cho Độ sâu không giới hạn |
cành_delim | Chuỗi để tách kèo tỷ số bóng đá euro hôm nay phím với đầu ra nhánh (không bắt buộc) |
kèo tỷ số bóng đá euro hôm nay trường khóa và cha mẹ có thể là bất kỳ loại dữ liệu nào, nhưng Họ phải là cùng một loại. Lưu ý rằngstart_withGiá trị phải được nhập dưới dạng văn bản Chuỗi, bất kể loại trường chính.
TheConnectby
Hàm là
tuyên bố trả lạiSetof Record, Vì vậy,
Tên và loại thực tế của kèo tỷ số bóng đá euro hôm nay 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ụ:
35454_35632
Hai cột đầu ra đầu tiên được sử dụng cho dòng điện Khóa của kèo tỷ số bóng đá euro hôm nay và khóa kèo tỷ số bóng đá euro hôm nay của nó; Họ phải phù hợp với loại của trường chính của bảng. Cột đầu ra thứ ba là Độ sâu trong cây và phải thuộc loạiSố nguyên. Nếu acành_delimtham số đã được đưa ra, tiếp theo kèo tỷ số bóng đá euro hôm nay đầu ra là màn hình chi nhánh và phải loạiText. Cuối cùng, nếu mộtOrderBy_FLDtham số đã được đưa ra, lần cuối cùng kèo tỷ số bóng đá euro hôm nay đầu ra là số sê -ri và phải thuộc loạiSố nguyên.
The"Chi nhánh"Cột đầu ra Hiển thị đường dẫn của kèo tỷ số bóng đá euro hôm nay phím được thực hiện để đạt đến hàng hiện tại. kèo tỷ số bóng đá euro hôm nay kèo tỷ số bóng đá euro hôm nay khóa được phân tách bằng được chỉ địnhcành_delimChuỗi. Nếu không có màn hình chi nhánh là muốn, bỏ qua cảcành_delimTham số và kèo tỷ số bóng đá euro hôm nay nhánh trong kèo tỷ số bóng đá euro hôm nay đầu ra danh sách.
Nếu thứ tự của anh chị em cùng cha mẹ quan trọng, bao gồmOrderBy_FLDtham số để chỉ định trường nào để đặt kèo tỷ số bóng đá euro hôm nay anh chị em. Cái này Trường có thể thuộc bất kỳ loại dữ liệu có thể sắp xếp. Cột đầu ra Danh sách phải bao gồm một cột số nối tiếp số nguyên cuối cùng, nếu Và chỉ khiOrderBy_FLDIS được chỉ định.
kèo tỷ số bóng đá euro hôm nay tham số đại diện cho bảng và tên trường là
đã sao chép as-is vào kèo tỷ số bóng đá euro hôm nay truy vấn SQL màConnectby
Tạo nội bộ. Vì thế,
Bao gồm kèo tỷ số bóng đá euro hôm nay trích dẫn kép nếu kèo tỷ số bóng đá euro hôm nay tên được hỗn hợp hoặc chứa
ký tự đặc biệt. Bạn cũng có thể cần phải trình độ sơ đồ
Tên bảng.
Trong kèo tỷ số bóng đá euro hôm nay bảng lớn, hiệu suất sẽ kém trừ khi có một chỉ mục trên trường cha mẹ.
Điều quan trọng là làcành_delimChuỗi không xuất hiện trong bất kỳ khóa nào
giá trị, khácConnectby
Có thể
Báo cáo không chính xác một lỗi thu được vô hạn. Lưu ý rằng nếucành_delimkhông được cung cấp, a
Giá trị mặc định của~được sử dụng cho
Mục đích phát hiện đệ quy.
Đây là một ví dụ:
Tạo bảng Connectby_Tree (văn bản keyid, văn bản Parent_keyid, pos int); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị ConnectBy_Tree ('ROW1', NULL, 0); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị ConnectBy_Tree ('Row2', 'Row1', 0); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị ConnectBy_Tree ('Row3', 'Row1', 0); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị ConnectBy_Tree ('Row4', 'Row2', 1); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị ConnectBy_Tree ('Row5', 'Row2', 0); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị ConnectBy_Tree ('Row6', 'Row4', 0); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị ConnectBy_Tree ('Row7', 'Row3', 0); Chèn vào kèo tỷ số bóng đá euro hôm nay giá trị ConnectBy_Tree ('Row8', 'Row6', 0); Chèn vào kèo tỷ số bóng đá euro hôm nay 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