我目前正在制作更新程序。我已经检查了其他堆栈帖子和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
答案 0 :(得分:3)
我会说不使用这样的名称,而你真的没有一个名为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
答案 1 :(得分:0)
您收到此错误是因为您使用db_owner作为表名而不是dbo.owner。
另外,在使用之前声明变量@street。
喜欢这个
DECLARE @Street VARCHAR(50)
UPDATE dbo.owner
SET Street=ISNULL(@Street, street),
WHERE Street=@Street
注意:系统角色是SQL Server,名为db_owner