【发布时间】:2019-06-24 04:13:15
【问题描述】:
我想在用户表中插入一个新用户(电子邮件地址)。如果成功(不重复),将新用户的基本配置插入其他表,并将一些数据返回给客户端。如果不成功,在 C# 项目的数据集中接收相关通知。
这里是示例代码,您可以轻松地对其进行评论
ALTER PROCEDURE [dbo].[CreateUser]
@Email nvarchar(256),
@Password nvarchar(256)
AS
BEGIN
declare @UserID uniqueidentifier;
declare @ConfigID uniqueidentifier;
declare @TopMostNode uniqueidentifier;
BEGIN TRANSACTION;
select @UserID = NEWID();
select @ConfigID = newid();
insert into Users (UserID,Email,Password,CurrentConfig)
values(@UserID, @Email, @Password, @ConfigID);
INSERT INTO Configs (ConfigID, OwnerID, DisplayName, LastPrintID)
VALUES (@ConfigID,@UserID, 'Default Config', 1);
COMMIT TRANSACTION
END
【问题讨论】:
-
您需要详细说明问题。 1. 操作不成功(用户存在)会收到什么样的通知。 2、你想返回给客户端的“一些数据”究竟是什么?
-
您面临的实际问题是什么?
-
您好,目前还没有实际问题。如果交易不成功,我想通过错误或零返回值,甚至是异常来在客户端得到通知。我要返回的数据只是@UserID 和@ConfigID。我不知道在哪里放置 select 语句,或者我需要在 select 之前检查一些东西...
标签: sql-server stored-procedures return-value commit