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 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
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ùng một trang chohiện tạiPhiên bản hoặc một trong kèo tỷ số bóng đá euro hôm nay phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo tỷ số bóng đá euro hôm nayF.29. bảng

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.

F.29.1. kèo tỷ số bóng đá euro hôm nay chức năng được cung cấp

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, crosstab3crosstab4được xác định trước, nhưng bạn có thể Tạo bổ sungcrosstabnkè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ủacrosstab (văn bản). Tham sốnhiện bị bỏ qua, Vì số lượng kèo tỷ số bóng đá euro hôm nay giá trị luôn luôn được xác định bởi truy vấn gọi

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

F.29.1.1.bình thường_rand

13131_13213

bình thường_randSả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)

F.29.1.2.crosstab (văn bản)

crosstab (văn bản SQL)
crosstab (văn bản SQL, int n)

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

ThecrosstabHà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

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

ThecrosstabHà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ằngcrosstabBả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.

F.29.1.3.crosstabn(văn bản)

crosstabn(văn bản SQL)

Thecrosstabnkè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 chungcrosstabHà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, crosstab3crosstab4, 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_NAMEgiá 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 chungcrosstabchứ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ảncrosstabc 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;

F.29.1.4.crosstab (văn bản, chữ)

24073_24125

Giới hạn chính của dạng tham số đơn củacrosstabCó 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ủacrosstabXử 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ạigiá 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_NAMEthể 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

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

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

F.29.1.5.Connectby

32636_32803

TheConnectbyHà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.ConnectbyCó 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.Connectbytham 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.

TheConnectbyHà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àConnectbyTạ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ácConnectbyCó 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)

F.29.2. Tác giả

Joe Conway