创建更新过程时出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建更新过程时出错相关的知识,希望对你有一定的参考价值。
我目前正在制定更新程序。我已经检查了其他堆栈帖子和Youtube,但我似乎无法运行代码。这是我找到的一个代码,并尝试使其工作:
UPDATE db_owner
SET Street = ISNULL(@Street, street),
WHERE Street = @Street
我收到这些错误:
无效的对象名称db_Owner 列名称街道无效 必须声明标量变量“@Street”
我的表是:
dbo.Appointment
dbo.Owner
dbo.Pet
dbo.Vet
我的插入程序是:
dbo.Spinsert_dbo_appointment
dbo.Spinsert_dbo_owner
dbo.Spinsert_dbo_vet
dbo.Spinsert_dbo_pet
答案
我会说不要使用这样的名字,你真的没有一个名为db_owner
的表,它是一个数据库角色:
UPDATE dbo.owner
SET Street=ISNULL(@Street, street)
WHERE Street=@Street
现在为错误Must declare the scalar variable "@Street"
它是因为你没有声明变量:
DECLARE @Street DataType; -- declaration of the variable @Street
SET @Street = Value; -- Set a value to the variable @Street
UPDATE dbo.owner
SET Street=ISNULL(@Street, street)
WHERE Street=@Street
另一答案
您收到此错误是因为您使用db_owner作为表名而不是dbo.owner。
另外,在使用之前声明变量@street。
像这样
DECLARE @Street VARCHAR(50)
UPDATE dbo.owner
SET Street=ISNULL(@Street, street),
WHERE Street=@Street
注意:系统角色是SQL Server,名为db_owner
以上是关于创建更新过程时出错的主要内容,如果未能解决你的问题,请参考以下文章
从另一个存储过程调用 sp_addextendedproperty 时出错