顯示如銀行賬戶一樣的流水帳的sql server 設計 (請教了)

來源:互聯網
上載者:User

--這次建了視圖

 CREATE TABLE ms(

 [fcid] [int] IDENTITY(1,1) primary key NOT NULL,--自增長ID

[m] [int] NULL CONSTRAINT [DF__member_money__m__0519C6AF] DEFAULT ((0)),--發生金額,收入時為正值,消費時為負值

 [d] [datetime] NULL,--日期時間

 [des] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,--摘要

 [mid] [int] NULL,--會員ID

 [ye] [int] NULL,--餘額 )

 go

create proc pro_fc(@mid int,@m int,@des varchar(50)) as

 declare @d datetime

set @d =getdate()

 insert into ms(mid,m,d,des) values (@mid,@m,@d,@des)

  declare @i int

  set @i = 0;

  while(@i < 1000000)

  begin

     exec pro_fc 1001,1,'儲值'

     exec pro_fc 1001,-1,'消費'

       set @i = @i +1

   end

 create view _fl_view as

    select mid as 會員ID,d as 時間,des as 摘要,m 金額,餘額 = isnull(ye,(select sum(m) from ms b where fcid <= a.fcid and mid=a.mid )) from ms a

 

SET STATISTICS TIME ON

go

 select top 1000 * from _fl_view where 會員ID=1001

 GO 

  select * from _fl_view  where mid=1001

 SET STATISTICS TIME OFF;

--訊息

 

 

SQL Server 執行時間: CPU 時間 = 0 毫秒,耗費時間 = 0 毫秒。 SQL Server 分析和編譯時間: CPU 時間 = 16 毫秒,耗費時間 = 17 毫秒。 (所影響的行數為 1000 行) SQL Server 執行時間: CPU 時間 = 922 毫秒,耗費時間 = 961 毫秒。 SQL Server 分析和編譯時間: CPU 時間 = 0 毫秒,耗費時間 = 0 毫秒。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.