使用表變數

2021-04-01 22:42:23 字數 1654 閱讀 9192

今天寫個統計,原本對錶變數只是耳聞,大體知道點意思,今天查聯機幫助後覺得比較有用,就在今天實用一下,在"一棵秋天的樹"大哥的幫助下,順里寫出來,感覺sql的使用,會了,真的就很簡單,而且高效.下面是偶寫的個統計:

--2005-10-19 21:20:25

--desigined by whbo

--designed at 2005-10-19

set nocount on  --節約反饋資源

declare @inttax1 bigint,@inttax2 bigint,@inttax bigint

declare @tsourcename table(sourcename varchar(32))         --使用表變數

insert into @tsourcename values('10062')

insert into @tsourcename values('10071')

insert into @tsourcename values('10080')

insert into @tsourcename values('10067')

insert into @tsourcename values('10073')

select @inttax1=sum(convert(bigint,wantedamount*0.03)) from moneylog a inner join @tsourcename b

on a.wantedamount>0 and a.writetime>convert(varchar(10),getdate()) and a.sourcename=b.sourcename

print '0.03的稅收總數:'

print convert(varchar(64),@inttax1)

select @inttax2=sum(convert(bigint,wantedamount*0.05)) from moneylog where wantedamount>0 and writetime>convert(varchar(10),getdate())

and sourcename in ('10034','10063','10055')

print '0.05的稅收總數:'

print convert(varchar(64),@inttax2)

print '所有稅收今天的總數:'

print convert(varchar(64),@inttax1+@inttax2)

print '從2005-08-24到現在的稅收總數:'

select @inttax1=sum(convert(bigint,wantedamount*0.03)) from moneylog a inner join @tsourcename b

on a.wantedamount>0 and a.sourcename=b.sourcename

select @inttax2=sum(convert(bigint,wantedamount*0.05)) from moneylog where wantedamount>0

and sourcename in ('10034','10063','10055')

select @inttax=@inttax1+@inttax2

print convert(varchar(10),@inttax)

SQL Server如何使用表變數

參考前乙個例項使用output儲存更新記錄前後資料 改用乙個表變數來實現。首先定義乙個表變數 declare salaryreport table memberid int name nvarchar 100 oldsalary decimal 18,6 newsalary decimal 18,6...

oracle 表型別變數的使用

oracle 表型別變數的使用 使用記錄型別變數只能儲存一行資料,這限制了select語句的返回行數,如果select語句返回多行就會錯。oracle提供了另外一種自定義型別,也就是表型別,它是對記錄型別的擴充套件,允許處理多行資料,類似於表。建立表型別的語法如下 type table name i...

使用表變數或臨時表遍歷資料

方法1 使用表變數 宣告表變數 declare temp table empid int,firstname nvarchar 10 lastname nvarchar 20 將源表中的資料插入到表變數中 insert into temp empid,firstname,lastname selec...