0

入力を文字列として受け入れるプロシージャがあり、プロシージャでパラメーターを整数として使用したい場合は、以下のプロシージャを見つけてください。

CREATE PROCEDURE [dbo].[spPERSON_SELECT]
(
    @PersonID VARCHAR(MAX) = NULL
)
AS
BEGIN 

    SELECT PERSON.name
    FROM PERSON
    WHERE
        PERSON.person_id NOT IN (@PersonID) 

END
GO

助けてください!

4

1 に答える 1

1

その varchar 変数をテーブル変数 (TSQL の「配列」) に変換することもできます - SO を検索すると、数十の例があります

または動的SQLを使用します。

DECLARE @sSQL varchar(max)

SET @sSQL = 'SELECT PERSON.name  FROM PERSON WHERE PERSON.person_id NOT IN '
SET @sSQL = @sSQL + '(' + @PersonID + ')'

EXEC (@sSQL)
于 2013-07-16T21:12:00.593 に答える