sqlcmd截断长行查询。如何运行行长超过5000的查询?

时间:2013-11-04 13:47:57

标签: sql-server sqlcmd

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

2 个答案:

答案 0 :(得分:3)

我通过将查询移动到文件中并使用-i filename.sql参数提供工具来实现此功能。不理想,但有效。

答案 1 :(得分: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)  
    

    这种语法通常不是表格中的任何更改 schema(即添加/删除列)会破坏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