3

多数の列を持つデータテーブルがあります。管理スタジオでデータテーブルを編集すると、変更スクリプトを生成できます。しかし、sqlcmd でスクリプトを実行すると、insert コマンドで失敗します。コマンドにはすべての列のリストが 1 行で表示され、行の長さは 5417 です。したがって、sqlcmd は 5000 文字で行を切り捨て、クエリは失敗します。5000 文字の制限を回避するにはどうすればよいですか?

問題を再現する手順: 1) sqlcmd を実行します。2) 次の行を貼り付けます。

INSERT INTO Tmp_Table1 (ExampleColumnNo1, ExampleColumnNo2, ExampleColumnNo3, ExampleColumnNo4, ExampleColumnNo5, ExampleColumnNo6, ExampleColumnNo7, ExampleColumnNo8, ExampleColumnNo9, ExampleColumnNo10, ExampleColumnNo11, ExampleColumnNo12, ExampleColumnNo13, ExampleColumnNo14, ExampleColumnNo15, ExampleColumnNo16, ExampleColumnNo17, ExampleColumnNo18, ExampleColumnNo19, ExampleColumnNo20, ExampleColumnNo21, ExampleColumnNo22, ExampleColumnNo23, ExampleColumnNo24, ExampleColumnNo25, ExampleColumnNo26, ExampleColumnNo27, ExampleColumnNo28, ExampleColumnNo29, ExampleColumnNo30, ExampleColumnNo31, ExampleColumnNo32, ExampleColumnNo33, ExampleColumnNo34, ExampleColumnNo35, ExampleColumnNo36, ExampleColumnNo37, ExampleColumnNo38, ExampleColumnNo39, ExampleColumnNo40, ExampleColumnNo41, ExampleColumnNo42, ExampleColumnNo43, ExampleColumnNo44, ExampleColumnNo45, ExampleColumnNo46, ExampleColumnNo47, ExampleColumnNo48, ExampleColumnNo49, ExampleColumnNo50, ExampleColumnNo51, ExampleColumnNo52, ExampleColumnNo53, ExampleColumnNo54, ExampleColumnNo55, ExampleColumnNo56, ExampleColumnNo57, ExampleColumnNo58, ExampleColumnNo59, ExampleColumnNo60, ExampleColumnNo61, ExampleColumnNo62, ExampleColumnNo63, ExampleColumnNo64, ExampleColumnNo65, ExampleColumnNo66, ExampleColumnNo67, ExampleColumnNo68, ExampleColumnNo69, ExampleColumnNo70, ExampleColumnNo71, ExampleColumnNo72, ExampleColumnNo73, ExampleColumnNo74, ExampleColumnNo75, ExampleColumnNo76, ExampleColumnNo77, ExampleColumnNo78, ExampleColumnNo79, ExampleColumnNo80, ExampleColumnNo81, ExampleColumnNo82, ExampleColumnNo83, ExampleColumnNo84, ExampleColumnNo85, ExampleColumnNo86, ExampleColumnNo87, ExampleColumnNo88, ExampleColumnNo89, ExampleColumnNo90, ExampleColumnNo91, ExampleColumnNo92, ExampleColumnNo93, ExampleColumnNo94, ExampleColumnNo95, ExampleColumnNo96, ExampleColumnNo97, ExampleColumnNo98, ExampleColumnNo99, ExampleColumnNo100, ExampleColumnNo101, ExampleColumnNo102, ExampleColumnNo103, ExampleColumnNo104, ExampleColumnNo105, ExampleColumnNo106, ExampleColumnNo107, ExampleColumnNo108, ExampleColumnNo109, ExampleColumnNo110, ExampleColumnNo111, ExampleColumnNo112, ExampleColumnNo113, ExampleColumnNo114, ExampleColumnNo115, ExampleColumnNo116, ExampleColumnNo117, ExampleColumnNo118, ExampleColumnNo119, ExampleColumnNo120, ExampleColumnNo121, ExampleColumnNo122, ExampleColumnNo123, ExampleColumnNo124, ExampleColumnNo125, ExampleColumnNo126, ExampleColumnNo127, ExampleColumnNo128, ExampleColumnNo129, ExampleColumnNo130, ExampleColumnNo131, ExampleColumnNo132, ExampleColumnNo133, ExampleColumnNo134, ExampleColumnNo135, ExampleColumnNo136, ExampleColumnNo137, ExampleColumnNo138, ExampleColumnNo139, ExampleColumnNo140, ExampleColumnNo141, ExampleColumnNo142, ExampleColumnNo143, ExampleColumnNo144, ExampleColumnNo145, ExampleColumnNo146, ExampleColumnNo147, ExampleColumnNo148, ExampleColumnNo149, ExampleColumnNo150, ExampleColumnNo151, ExampleColumnNo152, ExampleColumnNo153, ExampleColumnNo154, ExampleColumnNo155, ExampleColumnNo156, ExampleColumnNo157, ExampleColumnNo158, ExampleColumnNo159, ExampleColumnNo160, ExampleColumnNo161, ExampleColumnNo162, ExampleColumnNo163, ExampleColumnNo164, ExampleColumnNo165, ExampleColumnNo166, ExampleColumnNo167, ExampleColumnNo168, ExampleColumnNo169, ExampleColumnNo170, ExampleColumnNo171, ExampleColumnNo172, ExampleColumnNo173, ExampleColumnNo174, ExampleColumnNo175, ExampleColumnNo176, ExampleColumnNo177, ExampleColumnNo178, ExampleColumnNo179, ExampleColumnNo180, ExampleColumnNo181, ExampleColumnNo182, ExampleColumnNo183, ExampleColumnNo184, ExampleColumnNo185, ExampleColumnNo186, ExampleColumnNo187, ExampleColumnNo188, ExampleColumnNo189, ExampleColumnNo190, ExampleColumnNo191, ExampleColumnNo192, ExampleColumnNo193, ExampleColumnNo194, ExampleColumnNo195, ExampleColumnNo196, ExampleColumnNo197, ExampleColumnNo198, ExampleColumnNo199, ExampleColumnNo200, ExampleColumnNo201, ExampleColumnNo202, ExampleColumnNo203, ExampleColumnNo204, ExampleColumnNo205, ExampleColumnNo206, ExampleColumnNo207, ExampleColumnNo208, ExampleColumnNo209, ExampleColumnNo210, ExampleColumnNo211, ExampleColumnNo212, ExampleColumnNo213, ExampleColumnNo214, ExampleColumnNo215, ExampleColumnNo216, ExampleColumnNo217, ExampleColumnNo218, ExampleColumnNo219, ExampleColumnNo220, ExampleColumnNo221, ExampleColumnNo222, ExampleColumnNo223, ExampleColumnNo224, ExampleColumnNo225, ExampleColumnNo226, ExampleColumnNo227, ExampleColumnNo228, ExampleColumnNo229, ExampleColumnNo230, ExampleColumnNo231, ExampleColumnNo232, ExampleColumnNo233, ExampleColumnNo234, ExampleColumnNo235, ExampleColumnNo236, ExampleColumnNo237, ExampleColumnNo238, ExampleColumnNo239, ExampleColumnNo240, ExampleColumnNo241, ExampleColumnNo242, ExampleColumnNo243, ExampleColumnNo244, ExampleColumnNo245, ExampleColumnNo246, ExampleColumnNo247, ExampleColumnNo248, ExampleColumnNo249, ExampleColumnNo250, ExampleColumnNo251, ExampleColumnNo252, ExampleColumnNo253, ExampleColumnNo254, ExampleColumnNo255, ExampleColumnNo256, ExampleColumnNo257, ExampleColumnNo258, ExampleColumnNo259, ExampleColumnNo260, ExampleColumnNo261, ExampleColumnNo262, ExampleColumnNo263, ExampleColumnNo264, ExampleColumnNo265, ExampleColumnNo266, ExampleColumnNo267, ExampleColumnNo268, ExampleColumnNo269, ExampleColumnNo270, ExampleColumnNo271, ExampleColumnNo272, ExampleColumnNo273, ExampleColumnNo274, ExampleColumnNo275, ExampleColumnNo276, ExampleColumnNo277, ExampleColumnNo278, ExampleColumnNo279, ExampleColumnNo280, ExampleColumnNo281, ExampleColumnNo282, ExampleColumnNo283, ExampleColumnNo284, ExampleColumnNo285, ExampleColumnNo286, ExampleColumnNo287, ExampleColumnNo288, ExampleColumnNo289, ExampleColumnNo290, ExampleColumnNo291, ExampleColumnNo292, ExampleColumnNo293, ExampleColumnNo294, ExampleColumnNo295, ExampleColumnNo296, ExampleColumnNo297, ExampleColumnNo298, ExampleColumnNo299, ExampleColumnNo300)
SELECT ExampleColumnNo1, ExampleColumnNo2, ExampleColumnNo3, ExampleColumnNo4, ExampleColumnNo5, ExampleColumnNo6, ExampleColumnNo7, ExampleColumnNo8, ExampleColumnNo9, ExampleColumnNo10, ExampleColumnNo11, ExampleColumnNo12, ExampleColumnNo13, ExampleColumnNo14, ExampleColumnNo15, ExampleColumnNo16, ExampleColumnNo17, ExampleColumnNo18, ExampleColumnNo19, ExampleColumnNo20, ExampleColumnNo21, ExampleColumnNo22, ExampleColumnNo23, ExampleColumnNo24, ExampleColumnNo25, ExampleColumnNo26, ExampleColumnNo27, ExampleColumnNo28, ExampleColumnNo29, ExampleColumnNo30, ExampleColumnNo31, ExampleColumnNo32, ExampleColumnNo33, ExampleColumnNo34, ExampleColumnNo35, ExampleColumnNo36, ExampleColumnNo37, ExampleColumnNo38, ExampleColumnNo39, ExampleColumnNo40, ExampleColumnNo41, ExampleColumnNo42, ExampleColumnNo43, ExampleColumnNo44, ExampleColumnNo45, ExampleColumnNo46, ExampleColumnNo47, ExampleColumnNo48, ExampleColumnNo49, ExampleColumnNo50, ExampleColumnNo51, ExampleColumnNo52, ExampleColumnNo53, ExampleColumnNo54, ExampleColumnNo55, ExampleColumnNo56, ExampleColumnNo57, ExampleColumnNo58, ExampleColumnNo59, ExampleColumnNo60, ExampleColumnNo61, ExampleColumnNo62, ExampleColumnNo63, ExampleColumnNo64, ExampleColumnNo65, ExampleColumnNo66, ExampleColumnNo67, ExampleColumnNo68, ExampleColumnNo69, ExampleColumnNo70, ExampleColumnNo71, ExampleColumnNo72, ExampleColumnNo73, ExampleColumnNo74, ExampleColumnNo75, ExampleColumnNo76, ExampleColumnNo77, ExampleColumnNo78, ExampleColumnNo79, ExampleColumnNo80, ExampleColumnNo81, ExampleColumnNo82, ExampleColumnNo83, ExampleColumnNo84, ExampleColumnNo85, ExampleColumnNo86, ExampleColumnNo87, ExampleColumnNo88, ExampleColumnNo89, ExampleColumnNo90, ExampleColumnNo91, ExampleColumnNo92, ExampleColumnNo93, ExampleColumnNo94, ExampleColumnNo95, ExampleColumnNo96, ExampleColumnNo97, ExampleColumnNo98, ExampleColumnNo99, ExampleColumnNo100, ExampleColumnNo101, ExampleColumnNo102, ExampleColumnNo103, ExampleColumnNo104, ExampleColumnNo105, ExampleColumnNo106, ExampleColumnNo107, ExampleColumnNo108, ExampleColumnNo109, ExampleColumnNo110, ExampleColumnNo111, ExampleColumnNo112, ExampleColumnNo113, ExampleColumnNo114, ExampleColumnNo115, ExampleColumnNo116, ExampleColumnNo117, ExampleColumnNo118, ExampleColumnNo119, ExampleColumnNo120, ExampleColumnNo121, ExampleColumnNo122, ExampleColumnNo123, ExampleColumnNo124, ExampleColumnNo125, ExampleColumnNo126, ExampleColumnNo127, ExampleColumnNo128, ExampleColumnNo129, ExampleColumnNo130, ExampleColumnNo131, ExampleColumnNo132, ExampleColumnNo133, ExampleColumnNo134, ExampleColumnNo135, ExampleColumnNo136, ExampleColumnNo137, ExampleColumnNo138, ExampleColumnNo139, ExampleColumnNo140, ExampleColumnNo141, ExampleColumnNo142, ExampleColumnNo143, ExampleColumnNo144, ExampleColumnNo145, ExampleColumnNo146, ExampleColumnNo147, ExampleColumnNo148, ExampleColumnNo149, ExampleColumnNo150, ExampleColumnNo151, ExampleColumnNo152, ExampleColumnNo153, ExampleColumnNo154, ExampleColumnNo155, ExampleColumnNo156, ExampleColumnNo157, ExampleColumnNo158, ExampleColumnNo159, ExampleColumnNo160, ExampleColumnNo161, ExampleColumnNo162, ExampleColumnNo163, ExampleColumnNo164, ExampleColumnNo165, ExampleColumnNo166, ExampleColumnNo167, ExampleColumnNo168, ExampleColumnNo169, ExampleColumnNo170, ExampleColumnNo171, ExampleColumnNo172, ExampleColumnNo173, ExampleColumnNo174, ExampleColumnNo175, ExampleColumnNo176, ExampleColumnNo177, ExampleColumnNo178, ExampleColumnNo179, ExampleColumnNo180, ExampleColumnNo181, ExampleColumnNo182, ExampleColumnNo183, ExampleColumnNo184, ExampleColumnNo185, ExampleColumnNo186, ExampleColumnNo187, ExampleColumnNo188, ExampleColumnNo189, ExampleColumnNo190, ExampleColumnNo191, ExampleColumnNo192, ExampleColumnNo193, ExampleColumnNo194, ExampleColumnNo195, ExampleColumnNo196, ExampleColumnNo197, ExampleColumnNo198, ExampleColumnNo199, ExampleColumnNo200, ExampleColumnNo201, ExampleColumnNo202, ExampleColumnNo203, ExampleColumnNo204, ExampleColumnNo205, ExampleColumnNo206, ExampleColumnNo207, ExampleColumnNo208, ExampleColumnNo209, ExampleColumnNo210, ExampleColumnNo211, ExampleColumnNo212, ExampleColumnNo213, ExampleColumnNo214, ExampleColumnNo215, ExampleColumnNo216, ExampleColumnNo217, ExampleColumnNo218, ExampleColumnNo219, ExampleColumnNo220, ExampleColumnNo221, ExampleColumnNo222, ExampleColumnNo223, ExampleColumnNo224, ExampleColumnNo225, ExampleColumnNo226, ExampleColumnNo227, ExampleColumnNo228, ExampleColumnNo229, ExampleColumnNo230, ExampleColumnNo231, ExampleColumnNo232, ExampleColumnNo233, ExampleColumnNo234, ExampleColumnNo235, ExampleColumnNo236, ExampleColumnNo237, ExampleColumnNo238, ExampleColumnNo239, ExampleColumnNo240, ExampleColumnNo241, ExampleColumnNo242, ExampleColumnNo243, ExampleColumnNo244, ExampleColumnNo245, ExampleColumnNo246, ExampleColumnNo247, ExampleColumnNo248, ExampleColumnNo249, ExampleColumnNo250, ExampleColumnNo251, ExampleColumnNo252, ExampleColumnNo253, ExampleColumnNo254, ExampleColumnNo255, ExampleColumnNo256, ExampleColumnNo257, ExampleColumnNo258, ExampleColumnNo259, ExampleColumnNo260, ExampleColumnNo261, ExampleColumnNo262, ExampleColumnNo263, ExampleColumnNo264, ExampleColumnNo265, ExampleColumnNo266, ExampleColumnNo267, ExampleColumnNo268, ExampleColumnNo269, ExampleColumnNo270, ExampleColumnNo271, ExampleColumnNo272, ExampleColumnNo273, ExampleColumnNo274, ExampleColumnNo275, ExampleColumnNo276, ExampleColumnNo277, ExampleColumnNo278, ExampleColumnNo279, ExampleColumnNo280, ExampleColumnNo281, ExampleColumnNo282, ExampleColumnNo283, ExampleColumnNo284, ExampleColumnNo285, ExampleColumnNo286, ExampleColumnNo287, ExampleColumnNo288, ExampleColumnNo289, ExampleColumnNo290, ExampleColumnNo291, ExampleColumnNo292, ExampleColumnNo293, ExampleColumnNo294, ExampleColumnNo295, ExampleColumnNo296, ExampleColumnNo297, ExampleColumnNo298, ExampleColumnNo299, ExampleColumnNo300 FROM dbo.dbc_Table1
4

2 に答える 2

1
  1. 最初に SQL スクリプトを編集して、"VALUES" キーワードの前 (または後) に return を追加するだけです。実際には、INSERT ステートメントの任意の部分を別の行に配置できます。

    INSERT INTO  
    TableName (Column1,  
    Column2)  
    VALUES (  
    N'some text',  
    55 )  
    
  2. または、SQLCMD が改行を気にせず、代わりに実行されている実際の SQL ステートメントを気にする場合、挿入可能なすべての列を挿入すると仮定します (つまり、通常は挿入しないため、IDENTITY または TIMESTAMP/ROWVERSION フィールドはありません)。 IDENTITY であり、TIMESTAMP/ROWVERSION に挿入できません)、そして VALUES 句の値が、SQL Server でリストされている順序と同じ順序になっていること (SSMS が INSERT ステートメントを生成した場合に当てはまると思います)、削除できます。 INSERT ステートメントからのフィールド リスト:

    INSERT INTO TableName VALUES (N'some text', 55)  
    

    この構文は、テーブル スキーマの変更 (つまり、列の追加/削除) によって INSERT ステートメントが壊れてしまうため、通常は推奨されませんが、1 回限りのスクリプトでは問題ありません。

  3. それでも問題が解決しない場合は、通常、行末にしたい場所にバックスラッシュ「\」を置き、次の行に続くことを確認して、次の行に文字列を「続ける」ことができます。最初の文字位置。例えば:

    DECLARE @InsertTest TABLE (TextCol NVARCHAR(50), IntCol INT)
    
    INSERT INTO @InsertTest (TextCol, IntCol) VALUES (N'This is a looooooooooo\  
    ooooooooong string', 55)  
    
    SELECT * FROM @InsertTest
    
于 2013-11-05T06:51:21.207 に答える