资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

informix的esql编译参数避免//注释引起的SQL中断问题

在EXEC SQL中,如果SQL语句出现了“//”符号,那么会导致后面一直到“;”结尾的SQL语句都被忽略,而不止当前行。这样往往会出乎程序员的意料。

专注于为中小企业提供做网站、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业鼓楼免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

例如以下例子程序t1.ec。


  • int main()
  • {
  •         EXEC SQL UPDATE vyktd
  •         SET kahaoo="1" //注释1出现在SQL中
  •         WHERE kahaoo= "2";
  •         //注释2出现在普通程序中
  •         return 0;
  • }
  • 正常编译可以通过:

    $esql -e t1.ec

    $

    其实执行的SQL将会是UPDATE vyktd SET kahaoo="1",不带任何条件。因为WHERE字句被注释1所掩盖,变成危险的全表更新!

    为了避免这样的隐患,需要加上esql的编译参数-keepccomment,加上这个以后,如果在sql里写了“//”就会编译报错。

    $esql -keepccomment -e t1.ec
    esqlc: "t1.ec", line 4: Error -33051: Syntax error on identifier or symbol '/'.
    1 error(s) found

    $


    本文标题:informix的esql编译参数避免//注释引起的SQL中断问题
    文章位置:http://cdkjz.cn/article/ispcjj.html
    多年建站经验

    多一份参考,总有益处

    联系快上网,免费获得专属《策划方案》及报价

    咨询相关问题或预约面谈,可以通过以下方式与我们联系

    大客户专线   成都:13518219792   座机:028-86922220