我有这个存储过程
ALTER PROC [Resource_Control].[sp_LocationsInsert]
@name nvarchar(100) = NULL,
@address nvarchar(500) = NULL
AS
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRAN
INSERT INTO [Resource_Control].[Location] ([name], [address])
SELECT N'@name', N'@address'
COMMIT
名称和地址列都是nvarchar 我的参数之前需要N吗? 如果是的话,我把它们放在正确的位置?
答案 0 :(得分:1)
不,你不需要它们。
<强> Demo 强>
INSERT INTO [Resource_Control].[Location] ([name], [address])
SELECT N'@name', N'@address'
会将值'@name'和'@address'插入列中。
您需要使用:
INSERT INTO [Resource_Control].[Location] ([name], [address])
SELECT @name, @address;
您使用N''
表示字符串文字,而不是像
DECLARE @var NVARCHAR(100) = N'text';