德瑪西亞99
2021-11-18 11:11:30
如下:提示服務(wù)器: 消息 170,級別 15,狀態(tài) 1,過程 change_profit,行 11第 11 行: '@listcode' 附近有語法錯誤create proc dbo.change_profitas begindeclare @listcode varcharif(@listcode is null)raiserror('NULL value is invalid',5,5)returnendAlter Table @listcode Alter Column 營業(yè)總收入 numeric(18,2) Alter Table @listcode Alter Column 其中營業(yè)收入 numeric(18,2)Alter Table @listcode Alter Column 營業(yè)總成本 numeric(18,2)Alter Table @listcode Alter Column 其中營業(yè)成本 numeric(18,2)Alter Table @listcode Alter Column 營業(yè)稅金及附加 numeric(18,2)Alter Table @listcode Alter Column 銷售費(fèi)用 numeric(18,2)Alter Table @listcode Alter Column 管理費(fèi)用 numeric(18,2)Alter Table @listcode Alter Column 財務(wù)費(fèi)用 numeric(18,2)Alter Table @listcode Alter Column 資產(chǎn)減值損失 numeric(18,2)Alter Table @listcode Alter Column "+公允價值變動收益" numeric(18,2)Alter Table @listcode Alter Column "+投資收益" numeric(18,2)Alter Table @listcode Alter Column 其中對聯(lián)營企業(yè)和合營企業(yè)的投資收益 numeric(18,2)Alter Table @listcode Alter Column "+匯兌收益" numeric(18,2)Alter Table @listcode Alter Column 營業(yè)利潤 numeric(18,2)Alter Table @listcode Alter Column "+營業(yè)外收入" numeric(18,2)Alter Table @listcode Alter Column "-營業(yè)外支出" numeric(18,2)Alter Table @listcode Alter Column 其中非流動資產(chǎn)處置損失 numeric(18,2)Alter Table @listcode Alter Column 利潤總額 numeric(18,2)Alter Table @listcode Alter Column "-所得稅費(fèi)用" numeric(18,2)Alter Table @listcode Alter Column 凈利潤 numeric(18,2)Alter Table @listcode Alter Column 歸屬于母公司所有者的凈利潤 numeric(18,2)Alter Table @listcode Alter Column 少數(shù)股東損益 numeric(18,2)Alter Table @listcode Alter Column EPS numeric(18,2)go我想寫一個存儲過程,listcode是傳入的參數(shù),比如sz000527_profit,這個表存在于數(shù)據(jù)庫reports中,執(zhí)行過程,把表sz000527_profit中我列出來的那些字段的數(shù)據(jù)類型更改為numeric(18,2),因為有很多像sz000527_profit這樣的表要改,所以寫一個存儲過程.
2 回答

慕萊塢森
TA貢獻(xiàn)1810條經(jīng)驗 獲得超4個贊
改一個語句,其它都是一個問題,以此類推吧
Alter Table @listcode Alter Column 營業(yè)總收入 numeric(18,2)
聲明變量后
DECLARE @SqlString nvarchar(1000)
上面一句改成兩句:
Set @SqlString=N'Alter Table '+@Listcode+' Alter Column 營業(yè)總收入 numeric(18,2) '
execute sp_executesql @SqlString
不過其它問題我沒細(xì)看,再有問題再說了.

隔江千里
TA貢獻(xiàn)1906條經(jīng)驗 獲得超10個贊
首先,你申明的@listcode 是一個varchar
你可能是想申明一個表吧?所以下面出來問題。
declare 臨時表這么寫
declare @表名 table(...)
不是看得很懂下面你寫的ALTER的東西,既然你申明的是一個臨時表,而且是一個空表,那里面怎么會有東西呢?
添加回答
舉報
0/150
提交
取消