資料庫查詢結果的動態排序 4

2021-04-17 06:37:32 字數 1177 閱讀 4222

假設我們把更多的貨主加入到表,如listing 4所示(shipperid列有identity屬性,sql server自動為該列生成值)。

【listing 4:向shippers表插入一些記錄】

insert into shippers values('shipper4', '(111) 222-9999')

insert into shippers values('shipper5', '(111) 222-8888')

insert into shippers values('shipper6', '(111) 222-7777')

insert into shippers values('shipper7', '(111) 222-6666')

insert into shippers values('shipper8', '(111) 222-5555')

insert into shippers values('shipper9', '(111) 222-4444')

insert into shippers values('shipper10', '(111) 222-3333')

現在呼叫儲存過程,指定shipperid作為排序列:

exec getsortedshippers 'shipperid'

表一顯示了儲存過程的輸出。shipperid等於10的記錄位置錯誤,因為這個儲存過程的排序輸出是字元排序,而不是整數排序。按照字元排序時,10排列在2的前面,因為10的開始字元是1。

表一:記錄排序錯誤的查詢結果

shipperid companyname phone

1 speedy express (503) 555-9831

10 shipper10 (111) 222-3333

2 united package (503) 555-3199

3 federal shipping (503) 555-9931

4 shipper4 (111) 222-9999

5 shipper5 (111) 222-8888

6 shipper6 (111) 222-7777

7 shipper7 (111) 222-6666

8 shipper8 (111) 222-5555

9 shipper9 (111) 222-4444

查詢結果的動態排序 4

四 動態執行 使用動態執行技術,我們能夠更輕鬆地編寫出getsortedshippers儲存過程。使用這種方法時,我們只需動態地構造出select語句,然後用exec 命令執行這個select語句。假設傳遞給儲存過程的引數是列的名字,儲存過程可以大大縮短 alterprocgetsortedship...

資料庫(4)查詢

基本語法 select from 表名 消除重複行 select distinct from table 使用where子句對錶中的資料篩選,結果為true的行會出現在結果集中 select from 表名 where 條件 比較運算子 等於 大於 大於等於 小於 小於等於 不等於 或 查詢編號大於...

QT tableview 顯示資料庫查詢結果

不廢話直接上原始碼 qsqlquerymodel model new qsqlquerymodel ui tableview model setquery select from user model setheaderdata 0,qt horizontal,qobject tr name mod...