set quoted_identifier on
goset ansi_nulls on
goalter proc stkd_ys_ysxm_insert
@編號 varchar(255),
@名稱 varchar(255),
@對應科目 int,
@餘額方向 bit,
@是否現金流 bit,
@備註 varchar(255),
@使用者id int,
@明細 bit,
@結果 varchar(255) output
asdeclare @位置 int,@級數 int,@編號_ varchar(255),@父級編號 varchar(255),@父級id int,@重複判斷 int
select @重複判斷=count(*) from stkd_ys_ysxm where @編號=fnumber
if @重複判斷<1
begin
if left(@編號,1)<>'.' and right(@編號,1)<>'.'
begin
set @級數=len(@編號)-len(replace(@編號,'.',''))+1
set @編號_=reverse(@編號)
set @位置 = patindex('%.%', @編號_)
set @父級編號 = substring(@編號_,@位置+1, len(@編號_))
set @父級編號=reverse(@父級編號)
select @父級id=fid from stkd_ys_ysxm where fnumber=@父級編號
if @父級編號=@編號
set @父級id=0
if @父級id is not null
begin
begin tran
insert into stkd_ys_ysxm(fparentid,fdetail,flevel,fnumber,fname,faccountid,fdc,fxjll,fexplanation,fuserid,fdate)
values(@父級id,@明細,@級數,@編號,@名稱,@對應科目,@餘額方向,@是否現金流,@備註,@使用者id,getdate())
if @@error<>0
begin
rollback transaction
set @結果='此次操作失敗!'
endelse
set @結果='此次操作成功!'
commit tran
endelse
set @結果='上級組不存在!'
endelse
set @結果='編號格式錯誤!'
endelse
set @結果='該編號已經存在!'
goset quoted_identifier off
goset ansi_nulls on
go
php遞迴無限級樹形結構
array id 1,pid 0,name 這是主類 id 2,pid 0,name 這是主類 id 3,pid 1,name 父級為1子類 id 4,pid 2,name 父級為2子類 id 5,pid 3,name 父級為3子類 function tree array,pid tree v re...
無限級樹形導航
表 userinfo id id name 導航名稱 superiorid 上級導航id using system using system.collections using system.configuration using system.data using system.linq usin...
js無限分級 樹 原生js生成無限級樹形選單
設計思路 要生成選單的源資料往往是乙個樹形資料結構 若不是也可以轉換成樹形結構 那我們一起寫部落格吧 因為源資料結構和目標選單結構都為樹形結構,所以其實我們要做的就是資料結構的轉譯,即將js樹形資料轉換為 ul,li 拼接成的樹形選單。在這裡我們通過樹的深度優先遍歷方式來完成這次轉義操作。結構 轉義...