sql语句行末如果加上分号起什么作用,为何可有可无呢?
如下,行末的分号可有可无,加上与不加一个样,所以我不明白,这个分号的作用是什么?
对于严格的语法来说,肯定不存在可有可无的情况的,所以我认为这个分号一定有用,可是作用是什么呢?
select *
from authors;
select *
from jobs;

解决方案 »

  1.   

    ;表示一个语句的结束。在以后估计是需要加的。
    另外在构造动态sql的时候,如果有多个语句的话,也需要在语句末尾加
      

  2.   

    是的,代表一个语句的结束,
    你单句SQL可写可不写
      

  3.   

    语句开始,结束是用begin End 控制
      

  4.   

    一般情况下SQL会自动判断隐式在一句SQL末加上分号,有些情况还是要显式输入的,如SQL2005的CTE。
    如:
    select 1 as a
    with t as (select 1 as a ) select * from t
    关键字 'with' 附近有语法错误。如果此语句是公用表表达式或 xmlnamespaces 子句,那么前一个语句必须以分号结尾。不过这个问题在SQL2008sp1中就改进了。
      

  5.   

    表示一句SQL结束,其他的没什么
      

  6.   

    TONY哥的意思;with t as (select 1 as a ) select * from t
      

  7.   

    分号表示语句结束符,这是SQL标准,大部分数据库系统都 是以分号作为结束符的,MSSQL也是,不过,不象其他数据库,分号也可以不带,MSSQL会自动断句,因此不加也可以。
      

  8.   

    统一一下, 对MSSQL都不要用分号(;)