今天寫個統計,原本對錶變數只是耳聞,大體知道點意思,今天查聯機幫助後覺得比較有用,就在今天實用一下,在"一棵秋天的樹"大哥的幫助下,順里寫出來,感覺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...