我已經設法從遊標中創建一個表,從我的數據庫中的類似命名錶插入行。它工作成功,但我想創建一個視圖,以便我不需要更新我的原始查詢。我可以下去使用光標的路線錯誤,但我目前的查詢是:使用光標或循環創建視圖
use LaganPDM
set nocount on
declare @table varchar(128)
declare @cmd varchar(500)
create table SPECIAL_CASE_FORMS_2 (table_name varchar(128), flods_id numeric(22,0) PRIMARY KEY, lgncc_id numeric(22,0), case_enquiry_id numeric(22,0),amount varchar(4000), costcode varchar(4000), jobcompletedate varchar(4000), jobreleasedate varchar(4000),paymentstatus varchar(4000))
declare tables cursor for
select table_name
from information_schema.tables
where table_name like '%SPECIAL_UP_C00%'
and left(right(table_name, 24),9) > '101000363'
and not left(right(table_name, 24),9) in('101000487', '101000507', '101000510')
open tables
fetch next from tables into @table
while @@fetch_status = 0
begin
set @cmd = 'select ''' + @table + ''', * from ' + @table
insert into SPECIAL_CASE_FORMS_2 exec (@cmd)
fetch next from tables into @table
END
CLOSE tables
DEALLOCATE tables
select * from SPECIAL_CASE_FORMS_2
我試着去適應這一點,並創建一個視圖,但我有沒有運氣。任何建議都會受到感謝,即使這意味着不同的路線。
謝謝!
爲什麼這需要一個視圖? –
視圖是一個預定義的查詢,不能像循環,光標那樣使用編程邏輯。 –
Thx夥計。我不確定它是否有必要,我只是希望產生一個可以加入我現有的報告的查詢,所以我不需要隨時更新它 - 每當一個新表(使用這個相似的名稱)被添加到數據庫中,我的查詢會自動選擇並將其添加到表中。 – user1354015