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

SQL Server での注文

    BULK INSERT を使用してソース テーブルの順序を保持できることがわかりました

    タブ区切りの表 C:\MyTable.txt を指定すると、 、意図的に行の順序をずらしました:

    FileName    FileType
    wmsetup log
    bar txt
    wmsetup10   log
    WMSysPr9    prx
    WMSysPrx    prx
    Wudf01000Inst   log
    xpsp1hfm    log
    _default    pif
    0   log
    002391_ tmp
    005766_ tmp
      

    以下を実行し、SQL Server でテキスト ファイルの順序を保持しました:

    IF EXISTS(
        SELECT 1
        FROM sys.tables t
        INNER JOIN sys.schemas s on s.schema_id=t.schema_id
        WHERE t.name='myTable'
        AND t.[type]='U'
        AND s.name='dbo'
    )
    DROP TABLE myTable
    GO
    
    CREATE TABLE dbo.myTable(FileName VARCHAR(80), FileType VARCHAR(30))
    GO
    
    BULK INSERT myTable FROM 'C:\MyTable.txt' WITH (
    firstrow=2
    , fieldterminator='\t'
    , rowterminator='\n'
    )
    GO
    
    ALTER TABLE myTable ADD ID INT IDENTITY(1,1)
    GO
    
    SELECT * FROM myTable
    GO
      

    結果:

    FileName        FileType ID
    --------------- -------- -----------
    wmsetup         log      1
    bar             txt      2
    wmsetup10       log      3
    WMSysPr9        prx      4
    WMSysPrx        prx      5
    Wudf01000Inst   log      6
    xpsp1hfm        log      7
    _default        pif      8
    0               log      9
    002391_         tmp      10
    005766_         tmp      11
      


    1. OracleでのKEEPの有無によるPARTITIONBY

    2. mysqlにクエリを実行し、PHPでデータをCSVとしてエクスポートします

    3. 変換中に間違っているのは何ですか

    4. OracleとSQLServerのパフォーマンステストを公開することはライセンスに違反しますか?