由于customerAddress
上的截断,此存储过程给出了错误。
这是我的代码:
CREATE PROCEDURE insertNewCustomer
-- Add the parameters for the stored procedure here
@customerId char(8),
@customerName varChar(20),
@customerAddress varChar(18),
@zipCode integer
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
INSERT INTO customer (customerId, customerName, customerAddress, zipCode)
VALUES ('Z0999999', 'Larisa Preiser', '3801 W. Temple Avenue', '92335')
END
GO
EXEC insertNewCustomer 1, '', '', 0
关于如何截断它的任何想法?
答案 0 :(得分:1)
您是否使用EXEC语句执行了该程序?
您必须首先通过运行CREATE PROCEDURE命令创建该过程,然后使用EXECUTE命令执行它。请阅读本教程。
http://databases.about.com/od/sqlserver/a/storedprocedure.htm
尝试运行
EXECUTE insertNewCustomer 1, '', '', 0
按如下方式修改您的程序
CREATE PROCEDURE insertNewCustomer
-- Add the parameters for the stored procedure here
@customerId char(8),
@customerName varChar(20),
@customerAddress varChar(18),
@zipCode integer
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
INSERT INTO customer (customerId, customerName, customerAddress, zipCode)
VALUES (@customerId, @customerName, @customerAddress, @zipCode)
END
GO
答案 1 :(得分:1)
运行上述脚本时,用于在数据库中创建存储过程。
在创建后执行存储过程。
E.g
exec insertNewCustomer 'xxx','xxx','xxx',0
请注意,您的示例查询不会将输入参数作为插入表格的输入
答案 2 :(得分:0)
如果您运行已发布的SQL Server代码,它将创建一个存储过程。它不会运行存储过程或将任何行插入到客户表中。
创建存储过程后,可以调用它。大多数人会使用C#等语言调用存储过程。我不知道您正在使用的其他语言(如果有的话)。
您还可以使用EXECUTE命令直接在SQL Server Management Studio中运行存储过程。 (如果您有SQL Server,则可以使用EXECUTE命令。)