您好,登錄后才能下訂單哦!
在EXEC SQL中,如果SQL語句出現了“//”符號,那么會導致后面一直到“;”結尾的SQL語句都被忽略,而不止當前行。這樣往往會出乎程序員的意料。
例如以下例子程序t1.ec。
正常編譯可以通過:
$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
$
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。