Oracle 应用技巧

Oracle PL/SQL实战:核心概念与应用技巧 Oracle PL/SQL 是 Oracle 数据库专用的过程语言/结构化查询语言,它是一种集成的编程语言,用于存储过程、函数、触发器、包等数据库对象的创建和管理。本章节将从PL/SQL的起源、特性和优势出发,为读者提供一个概览性的介绍,为深入学习PL/SQL各项技能打下坚实的基础。PL/SQL中主要有三类异常:预定义异常、用户定义异常和非限制异常。预定义异常是PL/SQL自动识别的异常,如除数为零的或记录不存在的。用户定义异常则需要程序员自己声明和触发,适用于特定的错误条件。 阅读详情
触发器:
  select?trigger_name,trigger_type,table_owner,table_name,status?from?user_triggers;
快照:
  select?owner,name,master,table_name,last_refresh,next?from?user_snapshots?order?by?owner,next;
同义词:
  select?*?from?syn;
序列:
  select?*?from?seq;
数据库链路:
  select?*?from?user_db_links;
约束限制:
  select?TABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION,STATUS?from?user_constraints;
本用户读取其他用户对象的权限:
  select?*?from?user_tab_privs;
本用户所拥有的系统权限:
  select?*?from?user_sys_privs;
用户:
  select?*?from?all_users?order?by?user_id;
表空间剩余自由空间情况:
  select?tablespace_name,sum(bytes)?总字节数,max(bytes),count(*)?from?dba_free_space?group?by?tablespace_name;
数据字典:
  select?table_name?from?dict?order?by?table_name;
锁及资源信息:
  select?*?from?v$lock;不包括DDL锁
数据库字符集:
  select?name,value$?from?props$?where?name='NLS_CHARACTERSET';
inin.ora参数:
  select?name,value?from?v$parameter?order?by?name;
SQL共享池:
  select?sql_text?from?v$sqlarea;
数据库:
  select?*?from?v$database
控制文件:
  select?*?from?V$controlfile;
重做日志文件信息:
  select?*?from?V$logfile;
来自控制文件中的日志文件信息:
  select?*?from?V$log;
来自控制文件中的数据文件信息:
  select?*?from?V$datafile;
NLS参数当前值:
  select?*?from?V$nls_parameters;
ORACLE版本信息:
  select?*?from?v$version;
描述后台进程:
  select?*?from?v$bgprocess;
查看版本信息:
  select?*?from?product_component_version;

7.如何在PL/SQL中读写文件??


软件环境:?
1、服务器端:Windows?NT4.0+ORACLE?8.0.4
2、ORACLE安装路径为:C:/ORANT?
实现方法:?

PL/SQL?3.3以上的版本中,UTL_FILE包允许用户通过PL/SQL读写操作系统文件。如下:?
declare
file_handle?UTL_FILE.FILE_TYPE;
begin
file_handle?:=?UTL_FILE.FOPEN('/tmp',?'文件名',?'w');
UTL_FILE.PUTF(file_handle,?'写入的信息/n');
UTL_FILE.FCLOSE(file_handle);
exception
WHEN?utl_file.invalid_path?THEN
raise_application_error(-20000,?'ERROR:?Invalid?path?for?file?or?path?not?in?INIT.ORA.');
end;?

PutF()过程用来以指定格式把文本写入一个文件

Put_Line()过程把一个指定的字符串写入文件并在文件中开始新的一行

8.怎样计算表中的记录数??


系统环境:?
1、操作系统:Windows?2000
2、数据库: Oracle?8i?R2?(8.1.6)?for?NT?企业版
3、安装路径:C:/ORACLE

实现方法:?

查看当前用户下有什么对象(表、视图、同义词、快照)
SQL>?select?*?from?tab;

查看表结构
SQL>?desc?表名

查看表中记录数
SQL>?select?count(*)?from?表名;

SQL>?select?count(rowid)?from?表名;


9.怎样查看表的结构??


系统环境:?
1、操作系统:Windows?2000
2、数据库: Oracle?8i?R2?(8.1.6)?for?NT?企业版
3、安装路径:C:/ORACLE

实现方法:?

查看当前用户下有什么对象(表、视图、同义词、快照)
SQL>?select?*?from?tab;

查看表结构
SQL>?describe?表名

简写以上命令
SQL>?desc?表名


10.如何用SQL生成SQL批处理文件??


软件环境:?
1、Windows?NT4.0+ORACLE?8.0.4
2、ORACLE安装路径为:C:/ORANT

问题提出:?
1、用户需要对数据库用户下的每一张表都执行一个相同的SQL操作,这时,一遍、一遍的键入SQL语句是很麻烦的

实现方法:?
SQL>?set?heading?off?--禁止输出列标题
SQL>?set?feedback?off?--禁止显示最后一行的计数反馈信息

列出当前用户下所有同义词的定义,可用来测试同义词的真实存在性
select?'desc?'||tname?from?tab?where?tabtype='SYNONYM';

查询当前用户下所有表的记录数
select?'select?'''||tname||''',count(*)?from?'||tname||';'?from?tab?where?tabtype='TABLE';

把所有符合条件的表的select权限授予为public
select?'grant?select?on?'||table_name||'?to?public;'?from?user_tables?where?《条件》;

删除用户下各种对象
select?'drop?'||tabtype||'?'||tname?from?tab;

删除符合条件用户
select?'drop?user?'||username||'?cascade;'?from?all_users?where?user_id>25;

快速编译所有视图?
----当在把数据库倒入到新的服务器上后(数据库重建),需要将视图重新编译一遍,
----因为该表空间视图到其它表空间的表的连接会出现问题,可以利用PL/SQL的语言特性,快速编译。?

SQL>?SPOOL?ON.SQL
SQL>?SELECT'ALTER?VIEW?'||TNAME||'?COMPILE;'?FROM?TAB;
SQL>?SPOOL?OFF
然后执行ON.SQL即可。
SQL>?@ON.SQL
当然,授权和创建同义词也可以快速进行,如:
SQL>?SELECT?'GRANT?SELECT?ON?'||TNAME||'?TO?用户名;'?FROM?TAB;
SQL>?SELECT?'CREATE?SYNONYM?'||TNAME||'?FOR?用户名.'||TNAME||';'?FROM?TAB;
FPGA远程升级避坑实录:用STARTUPE2原语搞定Flash时钟,K7325T实测有效 本文深入解析了FPGA远程升级中的STARTUPE2原语应用,特别针对K7325T芯片的Flash时钟问题提供了实测有效的解决方案。通过详细的原语工作机制、Vivado工程实现步骤及调试技巧,帮助工程师规避常见陷阱,提升远程升级的可靠性和效率。 阅读详情

相关推荐

基于labview实现MYSQL数据库查询功能

基于labview实现MYSQL数据库查询功能 前言: labview是一款功能强大的图形化编程软件,也就是俗称的G语言。 本篇将介绍如何利用labview对MYSQL进行列表分页,范围查询及模糊查询等几个可广泛应用的简易功能,但事实上labview并不擅长处理数据库,下面详细代码可体现。 数据库的环境配置方面的问题这里就不赘述了。 我们直接进入主题。 1.以下为查询界面 2.分页实现细节: ...

qq470783138的博客 7556

[Oracle] INSERT INTO 实战技巧:从基础到高级应用

本文深入解析Oracle数据库中INSERT INTO语句的实战应用,涵盖从基础语法到高级技巧。详细介绍了指定列插入保障数据完整性、利用INSERT INTO SELECT进行高效数据搬运,以及批量插入和多表迁移等进阶方法,并提供了关键的避坑指南与性能优化建议,帮助开发者提升数据处理效率与代码健壮性。

weixin_28454475的博客 253

Unity3D实战:5分钟搞定RTSP监控视频流播放(附完整代码)

本文详细介绍了如何在Unity3D中快速实现低延迟RTSP监控视频流播放,提供完整代码和优化方案。通过Video Player组件和FFmpeg集成,开发者可以轻松应对智能家居和安防监控领域的实时视频流挑战,显著降低延迟并提升性能。

weixin_29015051的博客 587

Oracle时间的应用小技巧

Oracle 时间的应用小技巧 1、取得当前的日期 select sysdate from dual; 2、 得到当天凌晨0点0分0秒的日期 select trunc(sysdate) from dual; 3、取当前日期是星期几中文显示:   select  to_char(sysdate,'day')   from   dual; 4、取得当前日是一个星期中的第几天  

Fiona的专栏 677

HSMS/SECS/GEM/GEM300半导体通讯协议介绍

HSMS/SECS/GEM/GEM300半导体通讯协议解决方案介绍 目录 SECS/GEM协议通讯 1 目录 2 1.介绍 3 1.1 产品概述 3 1.1.1 高扩展性 4 1.2 通讯实现 4 1.2.2多主机实现 4 1.3 当前的SEMI标准 5 1.3.1 功能跟友商对比 6 1.4 软件灵活性 7 1.5 无需学习SECS 7 1.6 自定义消息传递 8 1.7 记录收集 8 1.8 SECS Manual文档 8 1.9 产品清单 8 2 产品结构 9 2.1 控制面板 9 2.2 使用环境

semisecs 16万+

SAP_MM模块通过CC11 创建物料版本

通过本文,我们了解了 SAP 的[SAP_MM模块通过CC11 创建物料版本]的基本概念和应用方法。当物料主数据、BOM(物料清单)、工艺路线等对象需要进行变更控制时,通过创建“版本”或“更改单”来记录、控制和追溯变更。创建完变更主记录(Change Number)后,可在物料主数据维护时引用它,从而创建物料版本化信息。,在其中可以定义物料、BOM、工艺路线等对象的变更版本信息,从而在系统中实现版本化的物料管理。

我小时候很黑的博客 815

Oracle 10个应用技巧

1.Oracle中如何实现某一字段自动增加1?软件环境: 1、Windows NT4.0+ORACLE 8.0.42、ORACLE安装路径为:C:\ORANT实现方法: 建立一个最小为1,最大为999999999的一个序列号会自动循环的序列create seq

jasontome的android之路:Do it. Do it right. Do it righ 304

YOLO11涨点优化:原创自研 | 魔改Bottleneck,具备多尺度和特征通道融合的结构

可以将C3k2_MSAMCS放在neck,或者backbone和neck同时修改,具体看自己数据集的涨点情况决定

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1649

oracle 应用技巧1

一.劫持查询 select 'DROP TRIGGER ' || owner || '."' ||TRIGGER_NAME || '";' from dba_triggers where TRIGGER_NAME like 'DBMS_%_INTERNAL%' union all select 'DROP PROCEDURE '|| owner ||'."'|| a.object_nam...

lzj033的专栏 398

【Bug已解决】Claude Code Auto-update failed 自动更新失败的解决方案

方案适用场景推荐指数清理残留重新安装已经损坏,需要快速恢复可用⭐⭐⭐⭐⭐修复目录权限权限不足导致更新反复失败⭐⭐⭐⭐⭐关闭自动更新网络/安全软件环境不稳定⭐⭐⭐切换原生安装方式想从根源规避 npm 更新问题⭐⭐⭐⭐自检修复脚本团队/服务器环境需要自动化恢复⭐⭐⭐报错的本质是自动更新过程中的文件替换操作因权限不足或被中断而处于不完整状态,而不是 Claude Code 本身的功能缺陷。遇到问题先清理残留文件再重新安装,不要在损坏状态上反复尝试修复;

一键难忘的博客 1万+

Yocto开发讲解系列 - 总目录

Yocto开发讲解系列总纲Yocto开发专栏前言

fulinux的博客 3万+

oracle一些应用,Oracle的一些应用技巧备忘

今天用Shell script做一个安装包,其中需要用SQLPlus做一些数据库初始化处理。其中碰上两个问题:1、&的转义以前一直都不知道,原来在SQLPlus中,&的含义是让用户输入参数。例如:insert into my_table values('0=0&1=0&2=0');执行SQLPlus的时候,就会提示:Enter value for 1: abcEnt...

weixin_42168830的博客 137

【unity实战】使用unity的Navigation+LineRenderer实现一个3D人物寻路提前指示预测移动轨迹的效果,并可以适配不同的地形

本文介绍了在Unity中使用Navigation导航系统和LineRenderer实现3D人物寻路轨迹预测效果的方法。通过NavMesh.CalculatePath计算路径点,结合Physics.Raycast进行地面点投射,将路径点赋予LineRenderer渲染出移动轨迹。关键点包括:1)利用NavMesh.CalculatePath计算两点间可行走路径;2)通过射线检测获取地面点提高路径适配性;3)使用协程定期更新路径绘制。文章还提供了完整代码实现,并说明需要将地面图层设置为Ground并进行导航网格

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 458

关于Oracle的一些技巧,Oracle的一些应用技巧备忘

今天用Shell script做一个安装包,其中需要用SQLPlus做一些数据库初始化处理。其中碰上两个问题:1、&的转义以前一直都不知道,原来在SQLPlus中,&的含义是让用户输入参数。例如:insert into my_table values('0=0&1=0&2=0');执行SQLPlus的时候,就会提示:Enter value for 1: abcEnt...

weixin_29765949的博客 114

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

oracle 10怎么用,Oracle 10个应用技巧

1.Oracle中如何实现某一字段自动增加1? 软件环境: 1、Windows NT4.0+ORACLE 8.0.4 2、ORACLE安装路径为:C:\ORANT 实现方法: 建立一个最小为1,最大为999999999的一个序列号会自动循环的序列 create sequence 序列名 increment by 1 start with 1 maxvalue 999999999 cycle; ...

weixin_34649252的博客 149

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Oracle应用技巧

(1)oracle数据库中in中最多1000个元素限制: select * from a where id in (1,2,.....1001);会报错,报in中的元素不能超过1000个。 select * from a where id in (select id from b where rownum < 6002);该语句不会报错,正常运行。 对其中的原理,我不是很明白。 (2)...

xiemingmei的专栏 125

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

oracle dp文件,[转载]Oracle DP2000 应用技巧

http://www.powerba.com/develop/d ... cle/20001014010.htm东 大 阿 尔 派 软 件 工 程 事 业 部李 雅 兴---- Oracle 公 司 作 为 全 球 最 大 的 数 据 库 厂 商 之 一, 其 数 据 库 系 统 是 优 秀 的 数 据 库 管 理 系 统, 在 大 型 系 统 象 保 险、 金 融 等 部 门 的 广 泛 应 用...

weixin_39737636的博客 145

Oracle 中 CASE 语句的深度应用与实战技巧

文章首先介绍了CASE语句的基础语法,并通过与DECODE函数的对比,突出其支持复杂条件表达的优势。在应用层面,详细阐述了CASE语句在SQL查询中的条件判断、多分支处理,以及在PL/SQL块和存储过程中的实现方式。高级应用部分展示了CASE语句与聚合函数、视图的结合使用技巧。文中还提供了性能优化建议,包括索引优化、条件简化等方法,并分析了NULL值处理和错误应对等常见问题。

caifox的博客 1832

oracle 一些应用技巧

为什么80%的码农都做不了架构师?>>> ...

weixin_33720452的博客 73

Oracle 时间的应用小技巧

[size=medium]1、取得当前的日期 select sysdate from dual; 2、 得到当天凌晨0点0分0秒的日期 select trunc(sysdate) from dual; 3、取当前日期是星期几中文显示: select to_char(sysdate,'day') from dual; 4、取得当前日是一个星期中的第几天 sele...

116

oracle查询应用小技巧收集

第一个小知识点: clear 在oracle中也可以用以清除屏幕上的内容 第二个小知识点: 在一个表中插入自身的查询结果 insert into my_table (id,name,age) select id,name,age from my_table 第三个小知识点: oracle中null 不能进行运算,运算的结果还是null ,如果作为where中的某个条件只能是 ...

weixin_30256505的博客 93

【oracle应用技巧】数据的编辑

在应用PL/SQL时,我们经常会对一些数据的信息进行修改,但对于刚接触oracle的朋友经常会这样操作: 1.创建一个SQL窗口,然后写入查询语句,这是你会得到这样一个错误,    如果你细心点也是可以找到解决方法的,看提示得出结论:是有两种方法解决编辑数据报错的问题。 第一种方法:带上rowid来查询           第二种方法:在查询语句的最后面加上 "for update"

一位以IT为业余生活的穷人 750

PostgreSQL“平替”Oracle:应用和基础架构改造技巧经验分享

数据库替换已经是很多企业必须面对或者正在面对的问题,在数据库迁移替代工作中,能够“平替”肯定会大大节约迁移的成本,但是我们不能因为两者业务代码和迁移的高兼容性,忽视和轻视应用和基础架构、运维改造工作,否则就会为今后的长期应用与运维埋下不稳定的因素。本文总结了PostgreSQL替换Oracle过程中,一些常用的应用的改造技巧和PostgreSQL索引的选择场景,以及二者运维中的差异,希望能为大家提供参考。

搞定过:百亿级数据、万级QPS、零宕机、AI工业化。 1277

oracle imp exp几点应用技巧

第一部分:查看oracle中的imp,exp命令:    imp help=y    exp help=y1.    导出表数据:    文件名以backup_yyMMddHHmm.dmp 表示    dateString=`date +%y%m%d%H%M`    #echo $dateString    su - oracle -c "exp userid/password tables=

Yuer的编程专栏 2563

Oracle ERP 11i 应用技巧与维护经验

Oracle ERP 11i 维护经验 1.在oracle applications 11i 中如何快速获得上次查询的SQL 语句 方法:我们不必使用SQL Trace 来获得,有一个简单的办法,即:帮助->诊断->检查->在" 块"中输入"system",在"字段"输入" last_query ",然后把鼠标移动到"值",你就可以看到你 所要的SQL 语句,简单吧! 2. 如

kikiwhq的专栏 992

Oracle常用的单行函数应用技巧总结

单行函数;   字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心) 一:字符函数: .UPPER(字符串) 将字符串转为大写 .LOWER (字符串) 将字符串转为小写 .INITCAP(字符串) 将首字母大写 .LENGTH (字符串) 字符串的长度 .REPLACE(字符串,'A','_') 将字符串字符A转换成_ .SUBS...

代码写到地老天荒 141
上一篇: DBA常用SQl语句
下一篇: 创建同义词
buffalo
博客等级 码龄26年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值