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

T-SQL動的SQLおよび一時テーブル

    最初にテーブルを作成する必要があります。そうすると、動的SQLで使用できるようになります。

    これは機能します:

    CREATE TABLE #temp3 (id INT)
    EXEC ('insert #temp3 values(1)')
    
    SELECT *
    FROM #temp3
    

    これは機能しません:

    EXEC (
            'create table #temp2 (id int)
             insert #temp2 values(1)'
            )
    
    SELECT *
    FROM #temp2
    

    言い換えれば:

    1. 一時テーブルを作成する
    2. procを実行する
    3. 一時テーブルから選択

    完全な例は次のとおりです:

    CREATE PROC prTest2 @var VARCHAR(100)
    AS
    EXEC (@var)
    GO
    
    CREATE TABLE #temp (id INT)
    
    EXEC prTest2 'insert #temp values(1)'
    
    SELECT *
    FROM #temp
    


    1. Android sqlite、データベースの行数を制限する

    2. インスタントファイル初期化:セットアップ中の影響

    3. MySQLでデータベースを作成する方法

    4. SQLiteデータベースの特定の行を削除するにはどうすればよいですか?