如何使用'#'开头的语句不被视为SQL脚本中的注释?

时间:2013-11-28 07:10:51

标签: sql unix sql-scripts

我在SQL脚本中编写了一个查询(在Unix系统上运行),我必须在名为'funcs'的列中的表中插入几行,并插入我插入的函数的名称此列必须全部在新行中(如下所示):

func1()

func2()

我在这里面临的问题是,有一些函数以#func3()之类的'#'开头,我的查询如下所示:

INSERT INTO TABLE (FUNCS) 
VALUE ( 'func1()

func2()

#func3()

func4()

#func5()'

);

当我在WinSQL应用程序中执行上述查询时,它执行正常,但在脚本中执行上述查询时出现以下错误:

unknown command beginning "func3..." - rest of line ignored.

unknown command beginning "func5..." - rest of line ignored.

结果最后我只能在这个字段中看到func1(),func2()和func4(),而#func3()和#func5()被忽略。

因此,我只能想到两个解决方案:

  1. 如果我可以告诉编译器不要像通常那样考虑带有'#'的语句,那么可以实现; 或

  2. 如果我可以在一行中写下所有函数的名称,用这样的换行符分隔它们:

    'func1()[newline char] func2()[newline char] #func3()[newline char] func4()[newline char] #func5()'。

  3. 请告诉我如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

我能够通过以下方式更改插入查询来解决此问题:

insert into table (funcs)
values('func1()'||
'func2()'||
'#func3()'||
'func4()'||
'#func5()');