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

この奇妙な SQL 動作の原因は何ですか?

    あなたのコードは期待どおりに動作しています。手順は再帰的に 自分自身を呼び出しています .

    しない場合 それが必要な場合は、これを試してください:

    ALTER PROCEDURE dbo.Test 
        @Value int = null
    
    AS
    
    BEGIN
    
        IF (IsNull(@Value, '') = '')
            SELECT 'I am NULL!'
        ELSE
            SELECT 'I am ' + CONVERT(varchar(20), @Value)
    
    END
    
    GO
    
    EXEC dbo.Test
    

    必要な場合 再帰を使用するには、基本ケース を定義する必要があります (別名「終了条件」) ストアド プロシージャを再帰スタックから終了させます。



    1. 多対多の関係に対するSQL Serverクエリ - クエリの方法は?

    2. カーソルを操作しないような Oracle ストアド プロシージャ クエリ

    3. 緯度/経度のペアをPostGIS地理タイプに変換するにはどうすればよいですか?

    4. 新しいテーブルにデータを要約する