sql 樹形的靈活性

2021-08-29 03:26:54 字數 1033 閱讀 1550

由於上面的方法,在函式中傳入表的名字,這樣每乙個有父子關係的表都必須有乙個函式,因為表名不一樣。我設想是不是可以把表名傳進去。於是就有了下面的寫法。[quote]create function dbo.getsubtreeinfo2

( @manager_id as varchar(32) ,--待管理的節點,從哪一組開始管理

@table_name_user as varchar(50),-- 傳入表的名字,使不同的表只要傳入表名這個函式

@tabel_id as varchar(32),--表的主鍵列名

@parent_id as varchar(32)--表的父列名

) returns @treeinfo table

([@tabel_id] [varchar] (32) not null,

[level] [int] not null

) as

begin

declare @level as int

select @level = 0

insert into @treeinfo

select @tabel_id, @level

from [@table_name_user]

where [@tabel_id] = @manager_id

while @@rowcount > 0

begin

set @level = @level + 1

insert into @treeinfo

select e.[@tabel_id], @level

from [@table_name_user] as e join @treeinfo as t

on e.[@parent_id] = t.[@tabel_id] and t.[level] = @level - 1

end

return

end

[/quote]

可是在執行的時候,去出現了物件名@table_name_user無效的錯誤,真是鬱悶。有沒有更好的辦法呢?

Ruby語法的靈活性?

對於ruby的語法不是很熟悉,遇到乙個問題,現在還沒有明白怎麼回事,先記下來,也許以後等用的熟練的就明白了 乙個form有兩個field,對應資料庫表中的兩個字段 code code 資料表 code create table users 提交到action後,分別通過兩種寫法,user name的...

設計原則 平衡簡單性與靈活性

分清設計的簡單性與靈活性有時並不容易,讓我們從乙個簡單的例子開始這一話題。假設我們需要編寫乙個函式,實現將 home.example.net user other.example.net 這樣格式的字串變為 home.example.net user other.example.net 即去除其中花...

設計原則 平衡簡單性與靈活性

分清設計的簡單性與靈活性有時並不容易,讓我們從乙個簡單的例子開始這一話題。假設我們需要編寫乙個函式,實現將 home.example.net user other.example.net 這樣格式的字串變為 home.example.net user other.example.net 即去除其中花...