易截截图软件、单文件、免安装、纯绿色、仅160KB

PL/SQL中GOTO语句和标签

在PL/SQL中也提供GOTO语句,其语法是
GOTO label;
这里label是在PL/SQL块中定义的标签.标签是用双箭头括号括起来的.当执行GOTO语句的时候,控制会立即转到由标签标识的语句.
1.对于GOTO的限制
a.对于块,循环或者IF语句而言,想要从外层跳到内层是非法的.
b.使用GOTO子句从一个IF子句跳到另一个子句中也是非法的.
begin
if x>3 then
...
goto<<lbl>>
else
<<lbl>>
...
end if;
end;

c.从一个异常处理块内跳转到当前块是非法的。
2.为循环设定标签
循环本身是可以被设定标签的。如果进行了设定,那么可以在EXIT语句中使用该标签指明要退出哪个循环.例如:
<<l_outer>>
for v_outer_index in 1..10 loop
...
<<I_inner>>
for v_inner_index in 1..30 loop
...
if v_outer_index > 5 then
EXIT I_outer;
end if;
end loop I_inner;
end loop I_outer;

如果循环设定了标签,那么可以在END LOOP语句的后面包含该标签名,如上面所示.
3.谨慎的使用GOTO语句
在使用GOTO语句时一定要小心,不然都是些跳来跳去的代码,很难理解也很难维护.
几乎所有使用GOTO的情况都可以使用其他的PL/SQL控制结构,例如循环或者条件结构,来重新进行编写.也可以使用异常处理来退出深层嵌套的循环,而不用直接跳转到结尾.
4.null语句
在一些情况下,你可能想要显式的指明不进行任何操作.这可以通过使用NULL语句来实现.NULL语句不做任何事情,它只是一个占位符.
例如:
begin
...
if ... then
...
else
null;
end if;
...
end;


相关文档:

ASP.NET防止SQL注入函数

ASP.NET防止SQL注入函数:
using System;
using System.Text.RegularExpressions;
using System.Web;
namespace FSqlKeyWord
......{
    /**//**//**//// <summary>
    /// SqlKey 的摘要说明。
    /// </summary>
    public class S ......

oracle sql优化之多表连接优化


Use equality first.
使用等连接
Use range operators only where equality does not apply.
只有在等连接不可用的情况下事由区间连接
Avoid use of negatives in the form of !=
or NOT.
避免使用 != 或者 not
Avoid LIKE pattern matching.
避免使用 LIKE匹配
Try to retrieve specific rows and in small n ......

SQL SERVER 究竟什么时候写日志?

昨天看到网上有一个关于SQL SERVER 课件,便随手下载了下来看看主要讲了些什么内容,于是看到了下面两个PPT页面
   

    由于第一张PPT上的内容不太准确(日志文件中没有“日志页”的概念,只有VLF的概念,可能是我们对“数据页”的概念太深刻了,因此弄了以&ldq ......

Oracle开发之SQL语句案例—分析函数的使用

创建雇员表:
create table emp(deptno number(10),ename varchar2(100),sal number(10,2));
插入数据
begin
insert into emp values('10','KING',5000);
insert into emp values('10','CLARK',2450);
insert into emp values('10','MILLER',1300);
insert into emp values('20','SCOTT',3000);
insert into emp v ......

用SQL建立索引

  假设你想找书中的某一个句子。你可以一页一页地逐页搜索,但这会花很多时间。而通过使用索引,你可以很快地找到你要搜索的主题。
  表的索引与附在一本书后面的索引非常相似。它可以极大地提高查询的速度。对一个较大的表来说,通过加索引,一个通常要花费几个小时来完成的查询只要几分钟就可以完成。因此没有理由对 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号