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

SQL での Set rowcount のスコープ

    コメントにリンクされている質問で受け入れられた回答とは対照的に 私が見る限り、これのスコープ ルールは #temp のスコープ ルールとまったく同じです。 テーブルの可視性。子バッチに伝播しますが、バッチが終了すると、以前の値にリセットされます。

    CREATE PROC #bar
    AS
    SELECT * FROM sys.objects
    EXEC ('SELECT * FROM sys.objects')
    GO
    
    CREATE PROC #foo
    AS
    SET ROWCOUNT 1
    
    EXEC #bar
    GO
    
    SET ROWCOUNT 4
    EXEC #foo /*Returns 2 resultsets with 1 row*/
    EXEC #bar /*Returns 2 resultsets with 4 rows*/
    
    DROP PROC #foo
    DROP PROC #bar
      


    1. ORDERBYとGROUPBYを一緒に使用する

    2. あるテーブルの列の値を別のテーブルの列の値で更新するにはどうすればよいですか?

    3. PostgreSQL:用途の広いINSERT

    4. CSVファイルをSQLServerにインポートします