我使用 NORTHWIND 数据库,我必须使用将新值插入 dbo.Customers 的过程。
IF OBJECT_ID('dbo.usp_InsertCustomer') IS NOT NULL
DROP PROC dbo.usp_InsertCustomer;
GO
CREATE PROC dbo.usp_InsertCustomer
@CompanyName AS nvarchar(40),
@ContactName AS nvarchar(30) = NULL,
@ContactTitle AS nvarchar(30) = NULL,
@Address AS nvarchar(60) = NULL,
@City AS nvarchar(15) = NULL,
@Region AS nvarchar(15) = NULL,
@PostalCode AS nvarchar(10) = NULL,
@Country AS nvarchar(15) = NULL,
@Phone AS nvarchar(24) = NULL,
@Fax AS nvarchar(24) = NULL
AS
BEGIN
INSERT INTO dbo.Customers(CustomerID, CompanyName, ContactName, ContactTitle,
Address, City, Region, PostalCode, Country, Phone, Fax)
VALUES (NEWID(), @CompanyName, @ContactName, @ContactTitle, @Address, @City,
@Region, @PostalCode, @Country, @Phone, @Fax);
END
GO
当我尝试使用这个程序时
EXEC dbo.usp_InsertCustomer @CompanyName = N'MyCompany'
我明白了
Arithmetic overflow error converting expression to data type nvarchar.