With在sql server 2005中的用法

2021-09-06 05:01:54 字數 2887 閱讀 3533

with在msdn中的講解,可以參考鏈結

1

------------------------------------2--

----建立錶值變數型別--------------3--

----------------------------------

4create type ty_newareagoods as

table(

5 areaid int

notnull,

6 goodsid int

notnull

7 )8

-------------------------------------9--

--創鍵返回今天**的資料-----------

10--

--根據有**的地區獲取參-----------

11--

--考**地區以及交易品id-----------

12--

-----------------------------------

13create

proc

[dbo

].[usp_gettodayprices]14

@dt ty_newareagoods readonly

15as

16begin

17with temp_1 as(

18select aa.areaid,tt.goodsid as goodsid from md_area aa,@dt tt where aa.quotationtype=tt.areaid

19and

exists(select

0from md_goods gg where gg.typeid = aa.goodstypeid and gg.id=tt.goodsid)

20union

all21

select areaid,goodsid as goodsid from

@dt22 )

23select pp.*

from md_prices pp,temp_1 tt

24where pp.areaid = tt.areaid and pp.goodsid= tt.goodsid

25and

convert(varchar(10),pricedate,120)=

convert(varchar(10),getdate(),120)

26end

27--

------------------------------------

28--

--呼叫儲存過程----------------------

29--

--傳入地區id為1,2;交易品id=34-------

30--

------------------------------------

31declare

@dt ty_newareagoods;

32insert

into

@dtvalues(1,34);

33insert

into

@dtvalues(2,34);

34exec

[usp_gettodayprices

]@dt

35--

------------------------------------

錶值變數,with,update結合運用:

1

create

proc

[dbo

].[usp_updateprice]2

@dt ty_newareagoods readonly3as

4begin

5set nocount on;

6declare

@errorsum

smallint ;

7begin

tran;

8set

@errorsum

=-1;

9with temp_1 as(

10select aa.areaid,tt.goodsid as goodsid from md_area aa,@dt tt where aa.quotationtype=tt.areaid

11and

exists(select

0from md_goods gg where gg.typeid = aa.goodstypeid and gg.id=tt.goodsid)

12union

all13

select areaid,goodsid as goodsid from

@dt14 )

15update pp set pp.guideprice=

1001

from md_prices pp , temp_1 tt

16where pp.areaid = tt.areaid and pp.goodsid = tt.goodsid

17if(@@error

<>

0) goto error_hander;

18commit

tran;

19return

0;20 error_hander:

21rollback

tran;

22return

@errorsum;

23end

2425

26declare

@dt ty_newareagoods;

27insert

into

@dtvalues(2,34);

28exec

[usp_updateprice

]@dt

配置django連線SQL Server 2005

筆者執行環境如下 window xp python 2.7 django 1.3.1 sql server 2005 如何配置django連線sql server 2005 pyodbc是乙個用python寫的odbc引擎 這個是基於pyodbc,針對django框架做的乙個backend 後端 這...

excel匯入資料到SQL server 2005

主要問題 1,如何講exel裡面的一張張的表依次讀出 2,如何批量匯入資料 解決思路 1,excel裡面各個表名被成為sheetname,由以下幾句便可以獲得 datatable sheetnames conn.getoledbschematable system.data.oledb.oledbs...

Excel匯入資料到sqlserver2005

安裝了sqlserver2005後,想從excel匯入資料,卻找不到 資料匯入 出 嚮導,相比有不少朋友和我一樣無奈,先分享sql語句匯入方法如下 步驟一 啟用ad hoc distributed queries exec sp configure show advanced options 1 r...