当我尝试在SQL Server中创建简单的存储过程时,会出现以下错误
消息102,级别15,状态1,过程测试,第2行'varchar'附近的语法不正确 . 消息137,级别15,状态1,过程测试,第27行必须声明标量变量“@” .
编写存储过程非常新 . 请指导
USE [database]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[TEST]
@[CUSTNAME] VARCHAR(100),
@[CUSTOMER_SHORT_NAME] VARCHAR(25),
@[COUNTRY] VARCHAR(50),
@[region] VARCHAR(25),
@[Area] VARCHAR(25),
AS BEGIN
SET NOCOUNT ON;
UPDATE [dbo].[TEST]
SET
@[CUSTNAME]=[CUSTNAME]
, @[CUSTOMER_SHORT_NAME]=[CUSTOMER_SHORT_NAME]
, @[COUNTRY]=[COUNTRY]
, @[region]=[region]
, @[Area]=[Area]
WHERE period=@period
AND customer=@customer
END
3 回答
您以相反的方式分配值 .
Error lies here
Try this instead of above code
我想你需要摆脱变量中的
[]
. 而且您的更新查询也是错误的:您还需要为
@period
和@customer
添加参数 .删除[]对于第一个错误,添加2参数@Period和@customer