2009-04-02
SQL语句分析createpro
create proc etl_fact_t_hospital as
----这个语句为创建存储过程的语句, etl_fact_t_hospital 为存储过程名,as后面跟条件
set nocount on
----这个语句是返回计数值的,一般来说,每执行一个SQL语句时,都会显示数据库中被该SQL语句所影响的行数,而set nocount on/off 就是控制这个显示或不显示的,为on时不显示,反之显示
begin
----有begin就必有end,这语句是标志过程开始的标识,如果没有碰到强制中止或退出的语句,那么从begin开始,到end为止,其内内容皆为存储过程内容。 当然,像...全部
create proc etl_fact_t_hospital as
----这个语句为创建存储过程的语句, etl_fact_t_hospital 为存储过程名,as后面跟条件
set nocount on
----这个语句是返回计数值的,一般来说,每执行一个SQL语句时,都会显示数据库中被该SQL语句所影响的行数,而set nocount on/off 就是控制这个显示或不显示的,为on时不显示,反之显示
begin
----有begin就必有end,这语句是标志过程开始的标识,如果没有碰到强制中止或退出的语句,那么从begin开始,到end为止,其内内容皆为存储过程内容。
当然,像前面所说的,如果碰到回滚、退出、条件循环等,可能就不一定会完全执行到end 为止。
truncate table t_hospital
----这个语句为删除表内行数用的,和不带where 条件的 delete语句同。
但是truncate 语句删除记录时,是不会删除表结构和表定义的,所以这个对于后面的insert 语句有一定的约束,insert语句内的内容如果想要插入成功,那他的字段属性就必须和表结构一一对应。
如果不是对表结构和表定义非常熟悉的话,多用drop语句
insert into t_hospital(。。。。。。。)
----这个语句是插入表内行记录的语句,括号内表明需要插入到的标字段名,这里的字段名个数、属性、定义等必须和select 后面显示的字段名一一对应,如果不指定字段,就默认为全部字段
select 。
。。。from 。。。where。。。
----这个属于insert需要插入表内的内容查询语句,插入的内容正确与否,关键点就在于这个select 语句查询的内容正确与否。
end
----结束
。
收起