informix的esql编译参数避免//注释引起的SQL中断问题
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,在EXEC SQL中,如果SQL语句出现了"//"符号,那么会导致后面一直到";"结尾的SQL语句都被忽略,而不止当前行。这样往往会出乎程序员的意料。例如以下例子程序t1.ec。int main(){
千家信息网最后更新 2025年11月12日informix的esql编译参数避免//注释引起的SQL中断问题int main()
{
EXEC SQL UPDATE vyktd
SET kahaoo="1" //注释1出现在SQL中
WHERE kahaoo= "2";
//注释2出现在普通程序中
return 0;
}
在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
$
注释
编译
程序
语句
参数
普通
危险
例子
可以通过
字句
条件
程序员
符号
隐患
意料
更新
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术端口
网络关于网络安全的手抄报
软件开发带来的优势
班级宿舍网络安全排查表
类似万方数据库
金大师软件开发
ibm服务器收集日志
服务器状态管理系统
腾讯云开源服务器
医保系统软件开发昀锦
党员数据库一人一档
数据库图书表包含什么字段
网络安全英语作文100字左右
数据库中循环添加数据库
战地2042霰弹枪服务器
大学网络安全班会ppt
metronic 数据库
属于MBD软件开发工具
网络技术中可专利主题范围
现实数据库中所有表的名字
数据库底层架构技术被掐脖子
p2p 服务器 搭建
应用和数据库的关系
电商中数据库技术的英文
微信数据库文件修复
昌平区专业性网络技术推广系统
计算机数据库版本
联盟服务器炸了更新到几点
nosql 时序数据库
我的世界火影服务器房间号