在SQL脚本中为Increment条目写入宏

时间:2011-06-16 11:26:06

标签: sql editor notepad++ firebird

我想在下表中添加一个宏

abc 2296 def  
abc 2297 def  
abc 2298 def   
abc 2299 def 

这些条目会像 -

一样递增
abc 4301 def  
abc 4302 def  
abc 4303 def  
abc 4304 def

知道我怎么能这样做吗?我正在创建一个SQL脚本。如果除了notepad ++之外还有其他任何编辑器可以为此工作,那么我在使用它时没有任何问题。

@ALL - 无论是对这个问题有什么看法 - 请把你的注释放在评论中或回答为何如此......这不是开玩笑,严重的是我发现这件事有点麻烦,这就是我在这里提出问题的原因..而且这不是无关紧要的事情。请注意,下次向某人发帖时可能会对您更容易,但不是每个人都是天才。

确定。我能够将我的数据移动到excel。现在我已经在同一列中增加了所有值。现在我应该如何继续excel?

5 个答案:

答案 0 :(得分:1)

如果你有awk可用,那么这很简单:awk '{print $1, $2+2005, $3}'

$ cat data.dat
abc 2296 def
abc 2297 def
abc 2298 def
abc 2299 def
$ awk '{print $1, $2+2005, $3}' < data.dat
abc 4301 def
abc 4302 def
abc 4303 def
abc 4304 def

awk和其他UNIX工具可在cygwin

中用于Windows

答案 1 :(得分:0)

Excel能否满足您的需求?

答案 2 :(得分:0)

我认为你应该看看EXECUTE STATEMENT

返回任意数量的数据行此表单 - 类似于“FOR SELECT ... DO” - 与可能返回多行数据集的SELECT语句一起使用。

语法:

FOR EXECUTE STATEMENT <select-statement> INTO <var> [, <var> ...]
DO <compound-statement>

<select-statement>  ::=  Any SELECT statement. 
<var>               ::=  A PSQL variable, optionally preceded by “:” 

您可以看到example

答案 3 :(得分:0)

您还可以使用宏在数字后面插入文本“+2005”。这将由DB进行评估(尽管它确实依赖于您正在生成的SQL)。对于Excel答案评论中的SQL,您可能需要更改为INSERT INTO ... SELECT ..., 3456+2005, ...才能使评估生效。

答案 4 :(得分:0)

以下是选项:  1.使用控制台应用程序:创建一个应用程序,它将sql脚本文件作为输入流,指定需要更新的数字范围并提供要完成的增量。输出流将提供所需的结果。将尽快提供代码。

  1. 使用Notepad ++,Excel。复制在Excel中粘贴整个脚本。现在转到数据 - &gt;文字到列。所有Id都会出现在专栏中。现在使用formula = ColumnRow +更新单元格。现在合并一列中的所有单元格。将脚本复制/粘贴到sql manager :) ...