sql >> データベース >  >> RDS >> Sqlserver

SQLはIN句でコンマ区切りの値を使用します

    これがworkaroundです 私はあなたが達成しようとしていることをすることがわかりました

    CREATE Procedure [dbo].[sp_getUserRoles](
       @pGroupIDs varchar(50)
        )
         As
        BEGIN
            SELECT * FROM CheckList_Groups Where (',' + @pGroupIDs +',' LIKE '%,' + CONVERT(VARCHAR, id) + ',%')
       End
    

    これにより、カンマ区切りのリストが取得され、IDと比較されます(',1,'のように表されます)。 、',2,' など)LIKEを使用してテーブルに



    1. SQLSERVERのListAGG

    2. MySQLバルクINSERTまたはUPDATE

    3. 関数内から一時テーブルにアクセスできません

    4. MySQLはすべての親を再帰的に検索します