這是我的T-SQL代碼:平等命令寫入兩次 - 一次工作,沒有第二次
;with tmpFolderPermissions(fp_folder, DataItem, fp_modify) as
(
select
fp_folder, LEFT(fp_modify, CHARINDEX(',',fp_modify+',')-1),
STUFF(fp_modify, 1, CHARINDEX(',',fp_modify+','), '')
from dbo.tblFolderPermissions
union all
select
fp_folder, CAST (LEFT(fp_modify, CHARINDEX(',', fp_modify+',') -1) AS VARCHAR(200)),
STUFF(fp_modify, 1, CHARINDEX(',',fp_modify+','), '')
from tmpFolderPermissions
where fp_modify > ''
)
select fp_folder, DataItem
from tmpFolderPermissions
,它工作正常,結果我得到一個表約200行。但是,如果用上面那個完整的代碼我添加與上述相同的命令:
select fp_folder, DataItem
from tmpFolderPermissions
所以基本上,如果我連續寫了兩次,第一個命令顯示了我200個結果,這是很好的,但第二個給我這個錯誤:
Invalid object name 'tmpFolderPermissions'.
爲什麼它給我一個錯誤,當它執行一個毫秒前?
注:在這種情況下一個選擇不排除自連接 – jean