由於上面的方法,在函式中傳入表的名字,這樣每乙個有父子關係的表都必須有乙個函式,因為表名不一樣。我設想是不是可以把表名傳進去。於是就有了下面的寫法。[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 即去除其中花...