例:
CREATE PROCEDURE dbo.sp_Delete (@p1 INT, @p2 VARCHAR(10) OUTPUT)
AS
--@p1 will have calculations done and get a value for @p2
SET @p2 = 'test'
RETURN @p2
テスト:
DECLARE @p2 VARCHAR(100)
EXEC sp_Delete
@p1 = N'1',
@p2 = N''
エラー:
Conversion failed when converting the varchar value 'test' to data type int.
しかし、あなたはこれを行うことができます:
ALTER PROCEDURE dbo.sp_Delete (@p1 INT)
AS
--@p1 will have calculations done and get a value for @p2
SELECT 'test'
EXEC sp_Delete
@p1 = N'1'
だから私の質問は、varchar型の場合は「return @ myvar」を使用できない場合に、varchar型のOUTPUTパラメーターを使用することの使用法は何ですか(int型の出力パラメーターについては質問していないことに注意してください)。「@myvarを選択」するだけです。特定のvarchar出力変数の使用法を理解していないと思うので、私は自分が間違っていることを理解しようとしています。