3

我有大量列的数据表。当我在管理工作室编辑数据表时,我可以生成更改脚本。但是当我在 sqlcmd 中运行脚本时,插入命令失败。该命令在单行中列出了所有列,行长为 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

3

我通过将查询移动到文件中并为工具提供-i filename.sql参数来完成这项工作。不理想,但有效。

于 2015-09-15T11:31:35.860 回答
1
  1. 我会首先尝试编辑 SQL 脚本,以便在“VALUES”关键字之前(或之后)简单地添加一个返回值。实际上,您可以将 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 语句,但对于一次性脚本来说它很好。

  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 回答