首页 > 数据库 >oracle pl sql 隐式游标SQL

oracle pl sql 隐式游标SQL

时间:2023-04-26 20:32:11浏览次数:42  
标签:DBMS sql 游标 FOUND SQL put OUTPUT line SQL%


EMP表在SCOTT用户下。用SCOTT/TIGER登录。

代码:

BEGIN
  UPDATE EMP SET ENAME = 'SMITH' WHERE EMPNO = 7369;
  DBMS_OUTPUT.put_line('SQL%ROWCOUNT = ' || SQL%ROWCOUNT);
  IF SQL%ISOPEN THEN
    DBMS_OUTPUT.put_line('SQL%ISOPEN');
  ELSE
    DBMS_OUTPUT.put_line('NOT SQL%ISOPEN');
  END IF;
  IF SQL%FOUND THEN
    DBMS_OUTPUT.put_line('SQL%FOUND');
  ELSE
    DBMS_OUTPUT.put_line('NOT SQL%FOUND');
  END IF;
  IF SQL%NOTFOUND THEN
    DBMS_OUTPUT.put_line('SQL%NOTFOUND');
  ELSE
    DBMS_OUTPUT.put_line('NOT SQL%NOTFOUND');
  END IF;
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      DBMS_OUTPUT.put_line('NO_DATA_FOUND');
    WHEN TOO_MANY_ROWS THEN
      DBMS_OUTPUT.put_line('TOO_MANY_ROWS');
END;



执行后输出:

SQL%ROWCOUNT = 1
NOT SQL%ISOPEN
SQL%FOUND
NOT SQL%NOTFOUND



%FOUND
指出了当PL/SQL代码最后从游标的结果集中获取记录时,找到了记录。
%NOTFOUND
指出了当PL/SQL代码最后从游标的结果集中获取记录时,结果集中没有记录。
%ROWCOUNT
返回当前时刻还没有从游标中获取的记录数量。
%ISOPEN
对于隐式游标而言,属性%ISOPEN的值总是false,这是因为隐式游标在DML语句执行时打开,结束时就立即关闭。

标签:DBMS,sql,游标,FOUND,SQL,put,OUTPUT,line,SQL%
From: https://blog.51cto.com/u_1002776/6228860

相关文章

  • oracle SQL引擎和PL/SQL引擎
    如下图所示,PL/SQL引擎会执行过程化语句,但它把SQL语句发送给SQL引擎处理,然后SQL引擎把处理的结果返回给PL/SQL引擎。PL/SQL和SQL引擎间的频繁切换会大大降低效率。典型的情况就是在一个循环中反复执行SQL语句。例如,下面的DELETE语句就会在FOR循环中被多次发送到SQL引擎中去:初始化一......
  • oracle 游标总结
    for循环游标DECLARECURSORC_EMPISSELECTEMPNO,ENAME,JOB,SALFROMEMPWHEREJOB='MANAGER';V_ROWC_EMP%ROWTYPE;BEGINFORV_ROWINC_EMPLOOPDBMS_OUTPUT.put_line(V_ROW.EMPNO||'-'||V_ROW.ENAME||'-'||V_ROW.JOB......
  • windows下mysql5.7安装,及python操作mysql
    windows下mysql5.7安装mysql5.7官方下载:https://www.mysql.com/可参考教程:https://blog.csdn.net/qq_39715000/article/details/123534326?注意:一:my.ini配置文件:如果保存目录以t开头,默认会将t转义为空格(解决方法加这个\\):[mysqld]#端口号port=3306#mysql-5.7.27-winx6......
  • 对数据库中存储的程序进行现代化改造,以使用 Amazon Aurora PostgreSQL 联合查询、pg_c
    作为数据库迁移和现代化的一部分,您可以继续使用存储的程序和调度作业,将远程实例中的数据整合到集中式数据存储中。 AmazonSchemaConversionTool(AmazonSCT)可帮助您将传统的Oracle和SQLServer函数转换为其等效的开源函数。但是,如何继续使用存储的程序从远程数据库中提取数......
  • fasttrack的SQLPwnage(失败)
    这次也是失败的,操作如下:root@bt:/pentest/exploits/fasttrack#./fast-track.py-iFast-TrackMainMenu:1.Fast-TrackUpdates2.AutopwnAutomation3.NmapScriptingEngine4.MicrosoftSQLTools5.MassClient-SideAttack6.Exploit......
  • (a)ttempt SQL Ping and Auto Quick Brute Force 续2——原因
    今晚再次调试,发现生成的h2b.exe无法运行,这个文件用来把hex转换成bin,而且后面的代码,似乎也有问题:print"Metasploitpayloaddelivered.."print"Convertingourpayloadtobinary,thismaytakeafew..."query5=("""xp_cmdshell'h2bmetasploit%s&......
  • SQL Injector - POST Parameter Attack
    login.jsp如下:<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.d......
  • SQL Injector - GET Manual Setup Binary Payload Attack
    bt5上操作:***********************************************************************Fast-Track-Anewbeginning...****Version:4.0.2......
  • MSSQL2K - SQL Injector - Query String Parameter Attack结合netcat获得反向cmdshell
    fasttrack操作:root@bt:~#cd/pentest/exploits/fasttrack/root@bt:/pentest/exploits/fasttrack#./fast-track.py-i******************************************************Performingdependencychecks...******************************************************......
  • MSSQL2K - SQL Injector - Query String Parameter Attack获得反向cmdshell
    上次没有成功获得cmdshell,因为fasttrack没有这方面的代码,这次编写了server.py。importsocketHOST=''PORT=4444s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind((HOST,PORT))s.listen(1)conn,addr=s.accept()cmd="\n"try:whileTrue:......