if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[trades]') and objectproperty(id, n'isusertable') = 1)
drop table [dbo].[trades]
gocreate table [dbo].[trades] (
[tradeid] [bigint] not null ,
[parentid] [bigint] not null ,
[tradename] [nchar] (30) collate chinese_prc_ci_as null ,
[sortid] [int] null ,
[prefix] [nchar] (20) collate chinese_prc_ci_as null
) on [primary]
gocreate procedure getchildid
@aid bigint,
@childid varchar(200) output
asdeclare @curid bigint
declare @tid varchar(200)
set @childid=@aid
declare cur cursor local for select tradeid from trades where parentid=@aid order by sortid
open cur
fetch next from cur into @curid
while(@@fetch_status=0)
begin
exec getchildid @curid, @tid output
set @childid=@childid+','+@tid
fetch next from cur into @curid
endclose cur
deallocate cur
go
php 無限級分類 獲取頂級分類ID
有這樣乙個表,id是分類的id,name是分類名稱,pid是上級分類的id。現在有個分類id,程式要找到它上級的上級的上級 分類的id,簡單說就是找出頂級分類的id。比如 新鮮水果 的id是13,對應父類id是5,而5的父id是1,1沒有父類,也就是頂級分類了。以前年輕氣盛不懂事,總想著用遞迴來查詢...
sql儲存過程分類
系統儲存過程 使用者盡可能不要用以sp 為字首的儲存過程名稱。sql server 2000是按照下列順序查詢以sp 為字首的儲存過程。1 在 master 資料庫中查詢儲存過程。2 根據所提供的任何限定符 資料庫名稱或所有者 查詢儲存過程。3 如果沒有指定所有者,則使用dbo作為所有者查詢儲存過程...
子儲存過程呼叫
with return to caller選項指定將來自游標的結果返回給呼叫者,後者可以是另乙個過程或者客戶機應用程式,這是預設選項 with return to client選項指定將來自游標的結果返回給客戶機應用程式,繞過中間的任何過程.子儲存過程 create procedure test o...