PLSQL Language Referenc-PL/SQL静态SQL-光标变量
光标变量 光标变量就像一个显式光标,除了: n 它没有被限制到一个查询。可以将同一个光标变量与多个查询相关联。 n 可以给光标变量赋值。 n 可以在表达式中使用光标变量 n 可以作为子程序的参数。可以使用光标变量在子程序之间传递查询结果集。 n 可以是宿主变量...
PLSQL Language Referenc-PL/SQL静态SQL-带有子查询的查询结果集处理
带有子查询的查询结果集处理 如果通过循环来处理结果集,并且对于每一行都运行另一个查询,则可以通过移除循环中的第2个查询,并使第2个查询成为第1个查询的子查询。 from子句中DECLARE c1 SELECT.,, departments t1 ...
PLSQL Language Referenc-PL/SQL静态SQL-使用显式光标OPEN-FETCH-CLOSE处理查询结果集
使用显式光标OPEN-FETCH-CLOSE处理查询结果集 为了完成控制查询结果集处理,需要声明显式光标并使用OPEN-FETCH-CLOSE语句来管理它。 这种结果集处理技术非常复杂,但具有更多的灵活性: n 可以使用多个光标,并行处理多个结果集。 n 在单次循环迭代中处理多行、跳过行或将处理拆分为多个循...
PLSQL Language Referenc-PL/SQL静态SQL-使用光标FOR循环处理查询结果集
使用光标FOR循环处理查询结果集 光标FOR循环允许你运行一个SELECT语句,然后立即循环结果集中的所有行。光标FOR循环可以使用隐式光标和显式光标。 如果只在光标FOR循环中使用SELEEC语句,则可以在光标FOR循环的内部指定SELECT语句,这种形式的光标FOR循环使用隐式光标,被称为隐式光标FOR循环语句。因为隐式光标...
PLSQL Language Referenc-PL/SQL静态SQL-查询结果集处理
查询结果集处理 在PL/SQL中,就像传统的数据库应用程序一样,使用光标来处理查询结果集。 在PL/SQL中可以使用隐式和显式光标。前者需要较少的代码,后者更灵活,例如显式光标可以接受参数。 下面的语句使用隐式光标:SELECTINTO、隐式光标FOR循环。 下面的语句使用显式光标:显式光标FOR循环(你定义显...
PLSQL Language Referenc-PL/SQL静态SQL-光标-显式光标属性
显式光标属性 语法格式:光标名%属性名 显式光标和光标变量拥有相同的属性。 如果显式光标没有打开,则引用%ISOPEN之外的属性,都会引发INVALID_CURSOR异常。 (1)%ISOPEN 如果光标打开了返回TRUE,否则返回FALSE。 该属性用于: n 在打开光标之前用于检查显式光标没有打开,如果打开...
PLSQL Language Referenc-PL/SQL静态SQL-添加带有默认值的光标形参
添加带有默认值的光标形参 ,而且为它指定的默认值 CURSOR(VARCHAR2 max_sal ,DATEDEFAULTto_date'31-12-1999' ))IS last_name first_name salary max_sal overpayment FROM  ...
PLSQL Language Referenc-PL/SQL静态SQL-接受参数的显式光标-带有默认值的光标形参
带有默认值的光标形参 当创建显式光标带有形参,可以为它们指定默认值。如果形参带有默认值,则实参就是可选的。当打开光标时,没有指定实参,则该参数会使用它的默认值。 CURSOR(NUMBERDEFAULT1700 SELECT.,.,.  ...
PLSQL Language Referenc-PL/SQL静态SQL-静态SQL的描述-接受参数的显式光标
接受参数的显式光标 可以创建带有常规参数的光标,然后在每次打开光标时传递不同的参数。 在光标查询中可以在能够使用常量的任何地方使用光标参数。在光标查询之外,不能引用光标参数。 CURSOR(VARCHAR2 max_sal )IS last_na...
PLSQL Language Referenc-PL/SQL静态SQL-静态SQL的描述-何时显式光标查询需要列的别名
何时显式光标查询需要列的别名 当显式光标查询包括计算的列(即表达式),则该列必须得有别名,如果想做下面的事情: n 使用光标来获取数据到记录中,而记录是使用%ROWTYPE声明的。 n 想在应用中引用计算的列。 CURSORIS &...
PLSQL Language Referenc-PL/SQL静态SQL-静态SQL的描述-光标-显式光标查询中的变量
显式光标查询中的变量 显示光标的查询可以引用它作用域内的任何变量。当打开光标时,PL/SQL计算查询中的变量,且在识别结果集时使用这些值。后面改变这些变量的值,不会改变结果集。 .%; sal_multiple employeessalaryTYPE ...
PLSQL Language Referenc-PL/SQL静态SQL-静态SQL的描述-光标-使用显式光标获取数据
使用显式光标获取数据 光标打开之后,可以使用FETCH获取数据。 cursor_name into_clause 其中的into_cluase或者是变量的列表,或者是单个的记录变量。对于查询返回的每一列,变量列表或者是记录必须有对应的类型兼容的变量或域。%TYPE和%ROWTYPE对于声明在FETCH语句中使用...
PLSQL Language Referenc-PL/SQL静态SQL-静态SQL的描述-光标-打开和关闭显式光标
打开和关闭显式光标 使用OPEN语句打开光标,做了如下的事情: l 分配数据库资源来处理查询 l 处理查询 ? 识别结果集,如果查询引用变量或光标参数,它们的值会影响结果集。 ? 如果查询有for update子句,则锁住结果集的行。 l 将光标定位在结果集的第1行之前。 ...
PLSQL Language Referenc-PL/SQL静态SQL-静态SQL的描述-光标-显式光标
显式光标 由你构造和管理显式光标是会话光标。你必须声明和定义显式光标,给它一个名称并与一个查询相关联。然后可以使用下面的方式来处理查询结果集: n 使用OPEN语句打开显式光标,从结果集中使用FETCH语句获取行,使用CLOSE语句关闭显式光标。 n 在光标FOR循环中使用显式光标。 不能给显...
PLSQL Language Referenc-PL/SQL静态SQL-静态SQL的描述-光标-隐式光标
光标 光标是私有SQL区域的指针,该区域存储着关于处理特定SELECT或DML语句的信息。 本单描述的光标是会话光标。会话光标存在于会话内存中直到会话结束。会话光标不同于在PGA的私有SQL区域的光标。 由PL/SQL程序构造和管理的会话光标是隐式光标;而由你构造和管理的会话光标为显式光标。 可以从它的属性获...
PLSQL Language Referenc-PL/SQL静态SQL-静态SQL的描述-伪列
伪列 (1)静态SQL包括下列SQL伪列: CURRVAL、NEXTVAL、LEVEL、OBJECT_VALUE、ROWID、ROWNUM (2)PL/SQL中的CURRVAL和NEXTVAL 注意:每次引用 序列名.NEXTVAL,序列会立即增长并且永久增长,不管你提交还是回滚了事务。 可以在NUMBER类型出现的任何地方使用CURRVAL和NEXTVAL,然而: ...
PLSQL Language Referenc-PL/SQL静态SQL-静态SQL的描述-语句
PL/SQL静态SQL 静态SQL是PL/SQL的一个功能,它允许SQL语法直接出现在PL/SQL语句中。 静态SQL的描述 语句 PL/SQL静态SQL,可以在对应的SQL语句使用绑定变量的地方使用PL/SQL标识符,该标识符用于表示一个变量或一个参数。 SQL employees_temp ...
PLSQL Language Referenc-PL/SQL集合和记录-记录更新和插入的限制
记录更新和插入的限制 n 记录变量只允许出现在: u UPDATE语句的SET子句的右边; u INSERT语句的VALUES子句中; u RETURNING的INTO子句中。 不允许出现在查询列表、WHERE、GROUP BY、ORDER BY子句中。 n 关键字ROW只允许出现在SET语句的右侧,不能在子查询中使用R...
PLSQL Language Referenc-PL/SQL集合和记录-使用记录更新行
使用记录更新行 %;BEGIN default_weekMon ; default_weekTue ; default_weekWed ; default_weekThu ; default_weekFri ; default_weekSat ...
PLSQL Language Referenc-PL/SQL集合和记录-记录比较-将记录插入到表中
记录比较 记录不能本地测试是否为空、相等或不相等。必须自己写函数来完成这些测试。 将记录插入到表中 PL/SQL对SQL的INSERT语句的扩展允许将记录插入到表中。 schedule schedule NUMBER VARCHAR210 VARCHAR2...