以引數@skuids 逗號隔開的陣列為引數,取出多個訂單id--orderscode,
藍色部分是定義取資料的地方,下面進行in刪除。
不要直接用
set @orderscode=(
select a.orders_code
from
orders a
inner join orders_row b on a.orders_code = b.orders_code
and b.sku_code in (select col from splitin(@skuids,',')) group by a.orders_code ;
select @orderscode)
這樣取會報錯乙個多個,< > ,=等錯誤。
當然了如果確定只能取出乙個可以,多個用下面的方式
create procedure proc_sukdelete @skuids as varchar (max)
declare @orderscode varchar(8000)
set @orderscode=''
select @orderscode=@orderscode+','+a.orders_code
from
orders a
inner join orders_row b on a.orders_code = b.orders_code
and b.sku_code in (select col from splitin(@skuids,',')) group by a.orders_code ;
select @orderscode
delete a
from store_point a
where a.orders_code in(select col from splitin(@orderscode,',')) ;
SQLserver的儲存過程
儲存過程 create 是建立儲存過程,alter 是更改 改變儲存過程 在第一次寫儲存過程時用 create 若修改儲存過程程式之後,則 alter 替換create 再執行 在資料庫中 begin end 為大括號的意思 建立儲存過程的格式 procedure可簡寫為proc proc為程式 步...
sql server儲存過程
建立表的語句 create table student sno int primary key,sname nvarchar 30 sgentle nvarchar 2 sage int,sbirth smalldatetime,sdept nvarchar 30 drop table studen...
SQLSERVER儲存過程
sqlserver儲存過程使用說明書 引言首先介紹一下什麼是儲存過程 儲存過程就是將常用的或很複雜的工作,預先用 sql語句寫好並用乙個指定的名稱儲存起來,並且這樣的語句是放在資料庫中的,還可以根據條件執行不同 sql語句,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫 ex...