我正在創建更新列的動態查詢,如果它存在於表中。當更新查詢正在運行時,它發生錯誤。以下是該過程動態查詢沒有給出想要的結果
Create Procedure spr_UpdateColumnWithTotalPrice
@id int
as
begin
if not exists
(
Select * from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'Product'
and
COLUMN_NAME = 'ProductSellingPrice'
)
Begin
Declare @SellingPrice varchar(max)
Set @SellingPrice = 'Alter table Product add ProductSellingPrice int'
Exec(@SellingPrice)
Print 'Table altered'
End
Else
Begin
Set @SellingPrice = 'Update Product set ProductSellingPrice = ((UnitPrice * [GSTRATE%]/100) + UnitPrice) where ProductID = @id'
Exec(@SellingPrice)
Print 'Table updated'
End
末
我得到以下結果: - 轉換爲varchar值「更新產品時設置
轉換失敗ProductSellingPrice =((單價* [GSTRATE%]/100)+ UnitPrice)其中ProductID = @id'爲數據類型int。
請在此先感謝幫助和
您發佈的確切查詢不會產生您所說的錯誤。 –