SQL 存储过程问题(alter table)
如下:提示服务器:消息170,级别15,状态1,过程change_profit,行11第11行:'@listcode'附近有语法错误createprocdbo.chang...
如下:提示服务器: 消息 170,级别 15,状态 1,过程 change_profit,行 11
第 11 行: '@listcode' 附近有语法错误
create proc dbo.change_profit
as
begin
declare @listcode varchar
if(@listcode is null)
raiserror('NULL value is invalid',5,5)
return
end
Alter Table @listcode Alter Column 营业总收入 numeric(18,2)
Alter Table @listcode Alter Column 其中营业收入 numeric(18,2)
Alter Table @listcode Alter Column 营业总成本 numeric(18,2)
Alter Table @listcode Alter Column 其中营业成本 numeric(18,2)
Alter Table @listcode Alter Column 营业税金及附加 numeric(18,2)
Alter Table @listcode Alter Column 销售费用 numeric(18,2)
Alter Table @listcode Alter Column 管理费用 numeric(18,2)
Alter Table @listcode Alter Column 财务费用 numeric(18,2)
Alter Table @listcode Alter Column 资产减值损失 numeric(18,2)
Alter Table @listcode Alter Column "+公允价值变动收益" numeric(18,2)
Alter Table @listcode Alter Column "+投资收益" numeric(18,2)
Alter Table @listcode Alter Column 其中对联营企业和合营企业的投资收益 numeric(18,2)
Alter Table @listcode Alter Column "+汇兑收益" numeric(18,2)
Alter Table @listcode Alter Column 营业利润 numeric(18,2)
Alter Table @listcode Alter Column "+营业外收入" numeric(18,2)
Alter Table @listcode Alter Column "-营业外支出" numeric(18,2)
Alter Table @listcode Alter Column 其中非流动资产处置损失 numeric(18,2)
Alter Table @listcode Alter Column 利润总额 numeric(18,2)
Alter Table @listcode Alter Column "-所得税费用" numeric(18,2)
Alter Table @listcode Alter Column 净利润 numeric(18,2)
Alter Table @listcode Alter Column 归属于母公司所有者的净利润 numeric(18,2)
Alter Table @listcode Alter Column 少数股东损益 numeric(18,2)
Alter Table @listcode Alter Column EPS numeric(18,2)
go
问题在哪
晗_寒
不是,我想写一个存储过程,listcode是传入的参数,比如sz000527_profit,这个表存在于数据库reports中,执行过程,把表sz000527_profit中我列出来的那些字段的数据类型更改为numeric(18,2),因为有很多像sz000527_profit这样的表要改,所以写一个存储过程.
现在加分啊,如果答案可以执行加20分. 展开
第 11 行: '@listcode' 附近有语法错误
create proc dbo.change_profit
as
begin
declare @listcode varchar
if(@listcode is null)
raiserror('NULL value is invalid',5,5)
return
end
Alter Table @listcode Alter Column 营业总收入 numeric(18,2)
Alter Table @listcode Alter Column 其中营业收入 numeric(18,2)
Alter Table @listcode Alter Column 营业总成本 numeric(18,2)
Alter Table @listcode Alter Column 其中营业成本 numeric(18,2)
Alter Table @listcode Alter Column 营业税金及附加 numeric(18,2)
Alter Table @listcode Alter Column 销售费用 numeric(18,2)
Alter Table @listcode Alter Column 管理费用 numeric(18,2)
Alter Table @listcode Alter Column 财务费用 numeric(18,2)
Alter Table @listcode Alter Column 资产减值损失 numeric(18,2)
Alter Table @listcode Alter Column "+公允价值变动收益" numeric(18,2)
Alter Table @listcode Alter Column "+投资收益" numeric(18,2)
Alter Table @listcode Alter Column 其中对联营企业和合营企业的投资收益 numeric(18,2)
Alter Table @listcode Alter Column "+汇兑收益" numeric(18,2)
Alter Table @listcode Alter Column 营业利润 numeric(18,2)
Alter Table @listcode Alter Column "+营业外收入" numeric(18,2)
Alter Table @listcode Alter Column "-营业外支出" numeric(18,2)
Alter Table @listcode Alter Column 其中非流动资产处置损失 numeric(18,2)
Alter Table @listcode Alter Column 利润总额 numeric(18,2)
Alter Table @listcode Alter Column "-所得税费用" numeric(18,2)
Alter Table @listcode Alter Column 净利润 numeric(18,2)
Alter Table @listcode Alter Column 归属于母公司所有者的净利润 numeric(18,2)
Alter Table @listcode Alter Column 少数股东损益 numeric(18,2)
Alter Table @listcode Alter Column EPS numeric(18,2)
go
问题在哪
晗_寒
不是,我想写一个存储过程,listcode是传入的参数,比如sz000527_profit,这个表存在于数据库reports中,执行过程,把表sz000527_profit中我列出来的那些字段的数据类型更改为numeric(18,2),因为有很多像sz000527_profit这样的表要改,所以写一个存储过程.
现在加分啊,如果答案可以执行加20分. 展开
3个回答
展开全部
改一个语句,其它都是一个问题,以此类推吧
Alter Table @listcode Alter Column 营业总收入 numeric(18,2)
声明变量后
DECLARE @SqlString nvarchar(1000)
上面一句改成两句:
Set @SqlString=N'Alter Table '+@Listcode+' Alter Column 营业总收入 numeric(18,2) '
execute sp_executesql @SqlString
不过其它问题我没细看,再有问题再说了.
这是MSSQL的语法
Alter Table @listcode Alter Column 营业总收入 numeric(18,2)
声明变量后
DECLARE @SqlString nvarchar(1000)
上面一句改成两句:
Set @SqlString=N'Alter Table '+@Listcode+' Alter Column 营业总收入 numeric(18,2) '
execute sp_executesql @SqlString
不过其它问题我没细看,再有问题再说了.
这是MSSQL的语法
展开全部
首先,你申明的@listcode 是一个varchar
你可能是想申明一个表吧?所以下面出来问题。
declare 临时表这么写
declare @表名 table(...)
不是看得很懂下面你写的ALTER的东西,既然你申明的是一个临时表,而且是一个空表,那里面怎么会有东西呢?
你可能是想申明一个表吧?所以下面出来问题。
declare 临时表这么写
declare @表名 table(...)
不是看得很懂下面你写的ALTER的东西,既然你申明的是一个临时表,而且是一个空表,那里面怎么会有东西呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
啊啊啊啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询