Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 存储过程是否插入两行?_Sql Server_Stored Procedures - Fatal编程技术网

Sql server 存储过程是否插入两行?

Sql server 存储过程是否插入两行?,sql-server,stored-procedures,Sql Server,Stored Procedures,我已经使用T-SQL创建了一个存储过程 我使用这个查询运行它 EXEC insertfbusers email, name 但是在SQLServerManagementStudio中测试它时,它会插入同一行两次,这会导致主键冲突 主键位于电子邮件列上 为什么要插入两行 这是我的程序 SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON GO -- ================================ -- Created -- by: db

我已经使用T-SQL创建了一个存储过程

我使用这个查询运行它

EXEC insertfbusers email, name
但是在SQLServerManagementStudio中测试它时,它会插入同一行两次,这会导致主键冲突

主键位于电子邮件列上

为什么要插入两行

这是我的程序

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO

-- ================================
-- Created 
--    by: dbo
--    on: Monday, October 08, 2012 1:10 AM
-- Description: <Description>
-- ================================
ALTER PROCEDURE dbo.insertfbusers
 -- Add the parameters for the procedure here
 @email varchar(100),
 @firstname varchar(50)
AS
BEGIN
SET NOCOUNT ON;

-- Insert statements for procedure here
INSERT INTO t_user VALUES (@email, @firstname)

END
将ANSI_空值设置为ON
在上设置带引号的\u标识符
去
-- ================================
--创造
--作者:dbo
--日期:2012年10月8日星期一凌晨1:10
--说明:
-- ================================
ALTER过程dbo.insertfbusers
--在此处添加该过程的参数
@电邮varchar(100),
@名字varchar(50)
作为
开始
不计数;
--在此处插入过程的语句
插入t_用户值(@email,@firstname)
结束

我把它修好了!我昨天使用的在线管理员一定有点古怪。我今天从SQLManagementStudio运行了这段代码,它工作得非常出色


无论如何,谢谢你的帮助

检查:您的表、您的proc、您的exec=works表上有触发器吗?表上有触发器吗?为什么使用电子邮件地址作为主键?@PeteCarter将电子邮件地址作为主键没有问题。它确实唯一地标识了一些东西。没错,它确实标识了一些东西,但是您正在varchar(一些大的东西)上构建一个完整的b树。这也将包括在NCIs中。我宁愿有一个人工PK