Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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
UNQIUEIDENFITER与int SQL Server过程类型不兼容_Sql_Sql Server_Stored Procedures_Sql Server 2012 Express - Fatal编程技术网

UNQIUEIDENFITER与int SQL Server过程类型不兼容

UNQIUEIDENFITER与int SQL Server过程类型不兼容,sql,sql-server,stored-procedures,sql-server-2012-express,Sql,Sql Server,Stored Procedures,Sql Server 2012 Express,我有以下插入用户表的过程: -- ================================================ -- Template generated from Template Explorer using: -- Create Procedure (New Menu).SQL -- -- Use the Specify Values for Template Parameters -- command (Ctrl-Shift-M) to fill in the pa

我有以下插入用户表的过程:

-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      Andy Armstrong
-- Create date: 
-- Description: 
-- =============================================
CREATE PROCEDURE db_SignupAddLogin 
    -- Add the parameters for the stored procedure here
    @LoginName VARCHAR(15), 
    @LoginPassword VARCHAR(15)


AS
BEGIN
DECLARE @GUID UNIQUEIDENTIFIER
SET @GUID = NEWID();
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
     INSERT INTO tblMemberLogin
          ( 
            UserID,
            LoginName,
            LoginPassword
          ) 
     VALUES 
          ( 
            @GUID,
            @LoginName,                 
            @LoginPassword              
          ) 

    RETURN @GUID
END
GO
但是,当我执行它时,会出现以下错误:

Msg 206, Level 16, State 2, Procedure db_SignupAddLogin, Line 34
Operand type clash: uniqueidentifier is incompatible with int
我不知道为什么,因为我没有在任何地方引用int

我的tblMemberLogin模式如下所示:

用户ID(主键,唯一标识符,非空) 登录名(nchar(15),非空) 登录密码(nchar(15),非空)


请帮忙

RETURN
只能与
int
一起使用。您只需使用
SELECT
查询来检索变量
@GUID
的值


参考:

返回值
只能与
int
一起使用。您只需使用
SELECT
查询来检索变量
@GUID
的值


参考:

返回值
只能与
int
一起使用。您只需使用
SELECT
查询来检索变量
@GUID
的值


参考:

返回值
只能与
int
一起使用。您只需使用
SELECT
查询来检索变量
@GUID
的值


参考资料:

摆脱
RETURN@GUID
你应该很好去做。

摆脱
RETURN@GUID
你应该很好去做。

摆脱
RETURN@GUID
你应该很好去做。

摆脱
RETURN@GUID
你应该很好去做。

在SQL Server中,存储过程只能返回整数值

如果要从非整数的存储过程返回数据,可以使用输出参数:

您可以声明输出参数和输入参数:

CREATE PROCEDURE CREATE PROCEDURE db_SignupAddLogin 
    -- Add the parameters for the stored procedure here
    @LoginName VARCHAR(15), 
    @LoginPassword VARCHAR(15),
    @NewGuid UNIQUEIDENTIFIER OUTPUT
AS
BEGIN
    SET @NewGuid = NEWID();

    -- rest of procedure
END
然后使用输出参数:

DECLARE @NewLoginGuidFromSP UNIQUEIDENTIFIER
EXECUTE db_SignupAddLogin 'Username', 'password', @NewGuid = @NewLoginGuidFromSP OUTPUT;

在SQL Server中,存储过程只能返回整数值

如果要从非整数的存储过程返回数据,可以使用输出参数:

您可以声明输出参数和输入参数:

CREATE PROCEDURE CREATE PROCEDURE db_SignupAddLogin 
    -- Add the parameters for the stored procedure here
    @LoginName VARCHAR(15), 
    @LoginPassword VARCHAR(15),
    @NewGuid UNIQUEIDENTIFIER OUTPUT
AS
BEGIN
    SET @NewGuid = NEWID();

    -- rest of procedure
END
然后使用输出参数:

DECLARE @NewLoginGuidFromSP UNIQUEIDENTIFIER
EXECUTE db_SignupAddLogin 'Username', 'password', @NewGuid = @NewLoginGuidFromSP OUTPUT;

在SQL Server中,存储过程只能返回整数值

如果要从非整数的存储过程返回数据,可以使用输出参数:

您可以声明输出参数和输入参数:

CREATE PROCEDURE CREATE PROCEDURE db_SignupAddLogin 
    -- Add the parameters for the stored procedure here
    @LoginName VARCHAR(15), 
    @LoginPassword VARCHAR(15),
    @NewGuid UNIQUEIDENTIFIER OUTPUT
AS
BEGIN
    SET @NewGuid = NEWID();

    -- rest of procedure
END
然后使用输出参数:

DECLARE @NewLoginGuidFromSP UNIQUEIDENTIFIER
EXECUTE db_SignupAddLogin 'Username', 'password', @NewGuid = @NewLoginGuidFromSP OUTPUT;

在SQL Server中,存储过程只能返回整数值

如果要从非整数的存储过程返回数据,可以使用输出参数:

您可以声明输出参数和输入参数:

CREATE PROCEDURE CREATE PROCEDURE db_SignupAddLogin 
    -- Add the parameters for the stored procedure here
    @LoginName VARCHAR(15), 
    @LoginPassword VARCHAR(15),
    @NewGuid UNIQUEIDENTIFIER OUTPUT
AS
BEGIN
    SET @NewGuid = NEWID();

    -- rest of procedure
END
然后使用输出参数:

DECLARE @NewLoginGuidFromSP UNIQUEIDENTIFIER
EXECUTE db_SignupAddLogin 'Username', 'password', @NewGuid = @NewLoginGuidFromSP OUTPUT;