• 各数据库注释


    Oracle

    REM单行注释

    -- 单行注释

    /*多行注释*/ 

     

    MS SQL Server

    -- 单行注释

     

    /*多行注释*/ 

    MySQL

    #单行注释

     

    -- 单行注释(特别注意,-- 后有个空格!!!)

    /*多行注释*/ 

     

    总结:

    /*多行注释*/ 和-- 单行注释都差不多,MySQL要注意。

    非标准的#和REM最好还是不要用了

    为了兼容-- 后面最好都加空格

     

    MySQL注释的说明------------------------------------------------------------

     

    ‘--’作为注释起始标记

     

    一些其他SQL数据库采用“--”作为注释开始标志。MySQL服务器采用“#”作为注释起始字符。对于MySQL服务器,也能使用C风格的注释:/*该处为注释*/。请参见9.5节,“注释语法”

    MySQL服务器3.23.3和更高版本支持“--”注释风格,但要求注释后面跟1空格(或控制字符,如新行)。之所以要求使用空格,是为了防止与自动生成SQL查询有关的问题,它采用了类似下面的代码,其中,自动为“!payment!”插入“payment”的值:

    UPDATE account SET credit=credit-!payment!

    考虑一下,如果“payment”的值为负数如“-1”时会出现什么情况:

    UPDATE account SET credit=credit--1

    在SQL中“credit--1”是合法的表达式,但是,如果“--1”被解释为注释开始,部分表达式将被舍弃。其结果是,表达式的意义与预期的意义完全不同。

    UPDATE account SET credit=credit

    该语句不会对值作任何更改!这表明,允许注释以“--”开始会产生严重后果。

    采用MySQL服务器3.23.3和更高版本中的这类注释方法,“credit--1”实际上很安全。

    另一个安全特性是,mysql命令行客户端将删除所有以“--”开头的行。

    仅当使用高于3.23.3的MySQL时,下述信息才有意义:

    如果有1个文本文件形式的SQL程序,该文件包含“--”注释,应按下述方式使用replace实用工具,将其转换为使用“#”字符的注释:

    shell> replace " --" " #" < text-file-with-funny-comments.sql \
             | mysql db_name

    而不是通常的:

    shell> mysql db_name < text-file-with-funny-comments.sql

    你也可以编辑注释文件,将“--”注释更改为“#”注释:

    shell> replace " --" " #" -- text-file-with-funny-comments.sql

    使用下述命令将其改回去:

    shell> replace " #" " --" -- text-file-with-funny-comments.sql


    原文:http://blog.csdn.net/kimsoft/article/details/7698829
    知识共享许可协议
    作品Tim Zhang创作,采用知识共享署名 3.0 中国大陆许可协议进行许可。 。
  • 相关阅读:
    微信开发第一步—接入指南
    摸不着
    dubbo监控中心安装部署
    解决mapper映射文件不发布问题
    单例设计模式
    Spring与Hibernate集成、Spring与Struts2集成
    Spring MVC对日期处理的不友好问题
    常用的系统存储过程
    这就是成长(刚开始经常犯的错误随记)
    一些简单的查询
  • 原文地址:https://www.cnblogs.com/ccdc/p/2780335.html
Copyright © 2020-2023  润新知