create报错不是函数_Sql Server 存储过程报错 为不是函数的对象 'account' 提供了参数。如果这些参数要作为表提示,则需要使用...

本文详细介绍了在Sql Server中创建存储过程`bank_pro`时遇到的问题及解决方案,涉及到变量声明、游标使用以及条件判断。存储过程用于根据银行ID查询账户信息,包括银行编号、名称、地址、城市、总金额和账户数。当总金额低于1000000时,将插入新账户;若银行没有用户,将删除该银行记录。
摘要由CSDN通过智能技术生成

createprocedurebank_pro@idsvarchar(10)asdeclare@bidvarchar(10),@bnamevarchar(20),@baddrvarchar(30),@bcityvarchar(30),@sumsmoney,@countsint,@SQLvarchar(500)declare@curscur...

create procedure bank_pro @ids varchar(10)

as

declare

@bid varchar(10),

@bname varchar(20),

@baddr varchar(30),

@bcity varchar(30),

@sums money,

@counts int,

@SQL varchar(500)

declare @curs cursor

--select @sums = sum(a_balance) from account where a_bank_num = @ids;

--select @counts=count(a_bank_num) from account where a_bank_num=@ids

set @curs=cursor scroll dynamic

for

select b.b_id,b.b_name,b.b_address,b.b_city,sum(a.a_balance),count(a.a_id)

from bank b left join account a on b.b_id=a.a_bank_num

where b.b_id = @ids

group by b.b_id,b.b_name,b.b_address,b.b_city

open @curs

fetch next from @curs into @bid,@bname,@baddr,@bcity,@sums,@counts

while(@@fetch_status=0)

begin

print '编号 '+'名称 '+'地址 '+'城市 '+'总金额 '+'账户数 '

print @bid+@bname+@baddr+@bcity+convert(varchar(20),@sums)+' '+convert(varchar(20),@counts)

fetch next from @curs into @bid,@bname,@baddr,@bcity,@sums,@counts

if(@sums<1000000)

begin

set @SQL='insert into account() values(''1010'',''天天'',''60000'',''2012-11-23'','''+@ids+''')'

print('该银行总金额少于一百万')

print(@SQL+'已执行')

exec(@SQL)

end

if(@counts=0)

-- else if(@counts=0)

begin

print('该银行不存在用户')

set @SQL='delete from bank with b_id='''+@ids+''''

print(@SQL+'已执行')

print('该银行已被删除')

exec(@SQL)

end

end;

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值