一些常用的ProC的语法

上传人:Sc****h 文档编号:133941212 上传时间:2022-08-11 格式:DOCX 页数:12 大小:34.89KB
返回 下载 相关 举报
一些常用的ProC的语法_第1页
第1页 / 共12页
一些常用的ProC的语法_第2页
第2页 / 共12页
一些常用的ProC的语法_第3页
第3页 / 共12页
点击查看更多>>
资源描述
百度文库 - 让每个人平等地提升自我CLOSE作用:关闭游标。语法:EXEC SQL CLOSE cursor | :cursor_variable;参数: cursor :SQL 游标名。 cursor_variable: PL/SQL 游标变量名。举例:EXEC SQL CLOSE auths_cursor;COMMIT作用:提交事务、释放内存、断开连接。语法:EXEC SQL AT :host_variable | dbname COMMIT WORK COMMENT text RELEASE | FORCE text :integer ;参数: dbname :使用 DECLARE DATABASE 语句定义,并使用 CONNECT 语句建立的数据库连接名。 host_variable :宿主变量字符串,它是使用CONNECT 语句建立的数据库连接名。如果忽略AT 子句,那么使用缺省数据库连接。WORK : COMMIT与 COMMIT WORK是等价的,使用该参数是为了与标准SQL 兼容。COMMENT :用于指定与当前事务相关的注释, text是用单引号括起来的不超过50个字符的字符串。如果当前事务是 “受怀疑的 ”,那么它将与事务 ID 号一起被存储到数据字典 DBA_2PC_PENDING 中。 RELEASE :释放资源,断开连接。 FORCE :手工提交 “受怀疑的 ”分布式事务,该事务由 text所包含的事务 ID 号来标识,查询数据字典视图DBA_2PC_PENDING可以获得该ID 号。举例:/*使用 DECLARE DATEBASE语句定义 aca_db */EXEC SQL AT aca_db COMMIT RELEASE;/* aca_db作为宿主变量使用*/1百度文库 - 让每个人平等地提升自我EXEC SQL AT :aca_db COMMIT RELEASE;CONNECT作用:连接到数据库服务器。语法:EXEC SQL CONNECT :user IDENTIFIEDassword | :user_password AT :host_variable | dbname USING :server ALTER AUTHORIZATION :new_password ;参数: user :用户名。 password :用户所对应的口令。user_password:包含用户名和口令的宿主变量。其中,用户名和口令必须用“ /隔”开。dbname:使用 DECLARE DATABASE语句定义的数据库连接名。host_variable:宿主变量字符串,它是使用CONNECT语句建立的数据库连接名。如果忽略AT 子句,那么使用缺省数据库连接。 USING :用于指定连接字符串,其中 server 是服务名。ALTER AUTHORIZATION:改变口令。其中,new_password为包含新口令的字符串。举例:EXEC SQL CONNECT :username IDENTIFIED BYassword USING :server;EXEC SQL CONNECT :userid;DECLARE CURSOR作用:定义游标。语法:EXEC SQL AT :host_variable | dbname DECLARE cursor CURSOR FOR SELECT command | statement_name | block_name ;2百度文库 - 让每个人平等地提升自我参数: dbname :使用 DECLARE DATABASE 语句定义,并使用 CONNECT 语句建立的数据库连接名。 host_variable :宿主变量字符串,它是使用 CONNECT 语句建立的数据库连接名。如果忽略AT 子句,那么使用缺省数据库连接。 cusor :游标名。 SELECT command :与游标相关的 SELECT 语句。 statement_name :与游标相关的 SQL 语句的标识符,该标识符必须使用 DECLARE STATEMENT 语句定义。block_name:与游标相关的PL/SQL块的标识符, 该标识符必须使用DECLARE STATEMENT语句定义。举例:EXEC SQL DECLARE auths_cur CURSORFOR SELECT author_code, name, salary FROM authsWHERE author_code = :author_codeFOR UPDATE OF salary ;DELETE作用:删除表或视图基表中的数据。语法:EXEC SQL AT :host_variable | dbname FOR :host_integer DELETE FROM schema . table PARTITION ( partition_name ) | dblink | view dblink | subquery alias WHERE conditions | CURRENT OF cursor ;参数:dbname:使用 DECLARE DATABASE语句定义,并使用 CONNECT 语句建立的数据库连接名。3百度文库 - 让每个人平等地提升自我host_variable:宿主变量字符串,它是使用CONNECT语句建立的数据库连接名。如果忽略AT 子句,那么使用缺省数据库连接。 FOR :host_integer:当 WHERE 子句中包含宿主数组时, 使用该子句用于限制语句的执行次数。其中, host_integer是整数宿主变量。 schema :包含表或视图的模式( schema )。 table :表名。 view :视图名。 dblink :数据库链名。 partition_name:表的分区名。 subquery :子查询语句,该子查询所检索到的数据将被删除。 alias :表、视图或子查询的别名。 WHERE :指定条件子句。 conditions :指定删除条件。 CURRENT OF cursor :删除游标当前行, cursor 为游标名。举例:EXEC SQL DELETE FROM auths WHERE author_code = :author_code;EXEC SQL DECLARE article_cur CURSORFOR SELECT article_code, title FROM article;EXEC SQL OPEN article_cur;EXEC SQL FETCH article_cur INTO :article_code, :title;EXEC SQL DELETE FROM article WHERE CURRENT OF article_cur;FETCH作用:推进游标、检索数据,并且将这些数据赋给宿主变量。语法:EXEC SQL FOR :host_integer FETCH cursor | :cursor_variable USING DESCRIPTOR descriptor | INTO:host_variable INDICATOR :indicator_variable , :host_variable INDICATOR :indicator_variable ,4百度文库 - 让每个人平等地提升自我;参数:FOR :host_integer:当使用宿主数组时,该子句用于限制检索行数,其中,host_integer是整数宿主变量。如果忽略该子句,那么检索到填满最小数组的行数为止。 cursor :使用 DECLARE CURSOR 语句定义的游标名。 cursor_variable:使用 ALLOCATE 语句分配的游标变量名。 INTO :指定宿主变量和指示变量列表。USING :指定描述区,该子句只用在动态SQL 方法四中。举例:EXEC SQL DECLARE auths_cursor CURSOR FORSELECT name, salary FROM auths;EXEC SQL OPEN auths_cursor;EXEC SQLWHENEVER NOT FOUND GOTOfor(;EXEC SQL FETCH auths_cursor INTO :name, :salary;INSERT作用:插入数据到表或视图基表中。语法:5百度文库 - 让每个人平等地提升自我EXEC SQL AT :host_variable | dbname FOR :host_integer INSERT INTO subquery schema . table | view dblink | PARTITION (part_name) ( column , column , ) VALUES ( expr , expr , ) | ( subquery ) 参数: dbname :使用 DECLARE DATABASE 语句定义,并使用 CONNECT 语句建立的数据库连接名。 host_variable :宿主变量字符串,它是使用CONNECT 语句建立的数据库连接名。如果忽略AT 子句,那么使用缺省数据库连接。 FOR :host_integer :当 VALUES 子句中包含宿主数组时,使用该子句可以限制语句的执行次数。其中, host_integer 是整数宿主变量。如果忽略该子句,语句只执行一次。 schema :包含表或视图的模式( schema )。 table :表名。 view :视图名。 dblink :数据库链名。 part_name :表的分区名。 column :列名。 VALUES :指定插入到表或视图中的数据。 subquery :子查询。举例:EXEC SQL INSERT INTO auths ( author_code, name, birthdate, entry_date_time )VALUES ( :author_code, :name, :birthdate, :entry_date_time );EXEC SQL INSERT INTO new_auths( author_code, name, birthdate, entry_date_time )SELECT author_code, name, birthdate, entry_date_timeFROM auths WHERE author_code = :author_code;OPEN作用:打开游标。语法:EXEC SQL OPEN cursorUSINGDESCRIPTOR descriptor_name |:host_variable INDICATOR :indicator_variable6百度文库 - 让每个人平等地提升自我参数: cursor :游标名。 host_variable :宿主变量。indicator_variable:与 host_variable相关的指示变量。DESCRIPTOR descriptor_name:指定描述区。其中descriptor_name是描述区名,描述区必须使用 DESCRIPTOR语句初始化。举例:EXEC SQL DECLARE auths_cursor CURSOR FORSELECT name, salaryFROM authsWHERE author_code = :author_code;EXEC SQL OPEN auths_cursor;PREPARE作用:准备动态 SQL 语句或 PL/SQL块。语法:EXEC SQL PREPARE statement_id FROM:host_string | text | select_command参数: statement_id :动态 SQL 语句或 PL/SQL 块的标识符。 host_string :包含了 SQL 语句或 PL/SQL 块的宿主变量。 text :包含了 SQL 语句或 PL/SQL 块的字符串。 select_command:SELECT 命令。7百度文库 - 让每个人平等地提升自我举例:EXEC SQL PREPARE my_statement FROM :my_string;EXEC SQL EXECUTE my_statement;ROLLBACK作用:回退事务。语法:EXEC SQL AT :host_variable | dbname ROLLBACK WORK TO SAVEPOINT savepoint | FORCE text | RELEASE;参数: dbname :使用 DECLARE DATABASE 语句定义,并使用 CONNECT 语句建立的数据库连接名。 host_variable :宿主变量字符串,它是使用CONNECT 语句建立的数据库连接名。如果忽略AT 子句,那么使用缺省数据库连接。 WORK :任选参数,使用它是为了与 ANSI 标准兼容。 TO :回退事务到保存点。FORCE :手工回退 “受怀疑 ”分布式事务,该事务由包含事务ID 号的文本标识。查询数据字典视图 DBA_2PC_PENDING可以找到这些 ID 号。RELEASE :释放资源并断开连接。该子句不允许与SAVEPOINT以及 FORCE 子句一起出现。举例:EXEC SQL ROLLBACK;EXEC SQL ROLLBACK TO SAVEPOINT save1;EXEC SQL ROLLBACK WORK FORCE 25.32.87;SAVEPOINT作用:标识事务保存点。8百度文库 - 让每个人平等地提升自我语法:EXEC SQL AT :host_variable | dbname SAVEPOINT savepoint;参数: dbname :使用 DECLARE DATABASE 语句定义,并使用 CONNECT 语句建立的数据库连接名。 host_variable :宿主变量字符串,它是使用CONNECT 语句建立的数据库连接名。如果忽略AT 子句,那么使用缺省数据库连接。 savepoint :保存点名。举例:EXEC SQL SAVEPOINT save3;SELECT作用:检索表、视图或快照的数据,并将这些数据赋给宿主变量。语法:EXEC SQL AT :host_string | dbname SELECT select_listINTO ( :host_variable INDICATOR :indicator ,:host_variable2 INDICATOR :indicator , )FROM table_list WHERE condition START WITH condition CONNECT BY condition| GROUP BY expr, expr , HAVING condition , START WITH condition CONNECT BY condition| GROUP BY expr, expr , HAVING condition , UNION ALL | INTERSECT | MINUS select condition ORDER BY expr | position | c_alias ASC | DESC ,expr | position | c_alias ASC | DESC ,| FOR UPDATE OF schema. table | view column NOWAIT ,ORDER BY expr | position | c_alias ASC | DESC ,expr | position | c_alias ASC | DESC,| FOR UPDATE OF schema. table | view column NOWAIT ,参数: dbname :使用 DECLARE DATABASE 语句定义,并使用 CONNECT 语句建立的数据库连接名。 host_variable :宿主变量字符串,它是使用CONNECT 语句建立的数据库连接名。如果忽略AT 子句,那么使用缺省数据库连接。 select_list :查询列表项。 INTO :指定接收数据的输出宿主变量以及指示变量。 WHERE :用于指定检索数据的条件。9百度文库 - 让每个人平等地提升自我举例:EXEC SQL SELECT name, salaryINTO :name, :salaryFROM authsWHERE author_code = :author_code;UPDATE作用:更新表或视图基表中的数据。语法:EXEC SQL AT :host_variable | dbname FOR :host_integer UPDATEsubquery | schema. table | view dblink | PARTITION (part_name) SETcolumn = expr | (subquery) ,column = expr | (subquery) , |( column , column, ) = ( subquery ) WHERE condition | CURRENT OF cursor ;参数: dbname :使用 DECLARE DATABASE 语句定义,并使用 CONNECT 语句建立的数据库连接名。 host_variable :宿主变量字符串,它是使用CONNECT 语句建立的数据库连接名。如果忽略AT 子句,那么使用缺省数据库连接。 FOR :host_integer :当 SET 和 WHERE 子句中包含了宿主数组时,使用该子句可以限制语句的执行次数,其中 host_integer 是整数宿主变量。 schema :包含表或视图的模式。 table :表名。 view :视图名。 dblink :数据库链名。 part_name :分区名。 alias :表、视图或子查询的别名。 column :列名。 expr :要赋给相应列的新值。 subquery :返回要赋给相应列新值的子查询。WHERE :指定更新条件,其中condition用于指定条件,而CURRENT OF cursor用于指定当前游标行。10百度文库 - 让每个人平等地提升自我举例:EXEC SQL UPDATE auths SET salary = :salaryWHERE author_code = :author_code;WHENEVER作用:指定当出现错误或警告时要执行的操作。语法:EXEC SQL WHEREVERNOT FOUND | SQLERROR | SQLWARNINGCONTINUE | GOTO label STOP | DO routine |DO break | DO CONTINUE;参数:NOT FOUND:标识将错误代码+1403返回到 SQLCODE ,或当 MODE=ANSI时将错误代码+100返回到 SQLCODE的异常情况。 SQLERROR :标识导致返回负代码的情况。 SQLWARNING :标识非严重的警告情况。 CONTINUE :指出应用程序继续处理下一条语句。11百度文库 - 让每个人平等地提升自我GOTO :指出程序转移到标号语句,其中label是标号。 STOP :停止程序执行。DO :指出应用程序调用函数或执行break 。举例:EXEC SQL WHENEVER NOT FOUND CONTINUE;EXEC SQL WHENEVER SQLERROR GOTO sql_error;sql_error:EXEC SQL WHENEVER SQLERROR CONTINUE;EXEC SQL ROLLBACK RELEASE;12
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!