MSSQL中游標例子 縱轉橫

2021-09-28 19:41:01 字數 867 閱讀 2464

--檢視源資料

select f_billno,f_invname from test

--定義兩個臨時變數用來儲存游標取得的資料

declare @c varchar(255)

declare @c1 varchar(255)

--刪除臨時表

if object_id('tempdb..#tmp') is not null drop table #tmp

--建立臨時表及生成資料

create table #tmp(fid varchar(4),ftext varchar(255))

insert into #tmp

select f_billno,'' from test group by f_billno

--取游標資料

declare cur_test cursor for

select f_billno,f_invname from test

open cur_test

fetch next from cur_test into @c,@c1

--第乙個迴圈

while @@fetch_status=0

begin

--重複取資料並生成相應的處理sql

exec('update #tmp set ftext=ftext+'''+@c1+' '' where fid='''+@c+'''');

fetch next from cur_test into @c,@c1

end 

--顯示結果資料

select * from #tmp

--關閉游標

close cur_test

deallocate cur_test

資料庫之橫表轉縱表 縱表轉橫表

橫表變縱表或縱表變橫表 成績表如下 name course grade 張三 語文 95 張三 數學 90 張三 英語 89 李四 語文 92 李四 數學 88 李四 英語 97 變成姓名 語文 數學 英語 張三 95 90 89 李四 92 88 97 縱表轉橫表create table biao...

縱表轉橫表sql

縱表結構 fname ftype fvalue 小明 zaocan 10 小明 zhongcan 20 小明 wancan 5 轉換後的表結構 fname zaocan value zhongcan value wancan value 小明 10 20 5 縱表轉橫表sql如下 select fn...

Oracle橫表轉縱表

現有 scott 使用者下的 emp和 dept表 empempno number 4 ename varchar2 10 jobvarchar2 9 mgrnumber 4 hiredate date salnumber 7,2 comm number 7,2 deptno number 2 de...