精华内容
下载资源
问答
  • oracle使用教程

    2008-03-12 11:16:53
    oracle使用教程包括。oracle函数大全,oracle数据导入导出,oracle序列, oracle9i教程
  • Oracle使用EXTRACTVALUE函数解析XML

    千次阅读 2019-02-20 14:06:05
    Oracle使用EXTRACTVALUE函数解析XML 需求是将oracle数据库中将clob类型保存的xml文本在视图中解析传递给其他程序. 解析xml的方法有很多, 各种语言都有支持, 我曾试图通过java解析后再传递, 后来我发现oracle的...

    Oracle使用EXTRACTVALUE函数解析XML

    需求是将oracle数据库中将clob类型保存的xml文本在视图中解析传递给其他程序.
    解析xml的方法有很多, 各种语言都有支持, 我曾试图通过java解析后再传递, 后来我发现oracle的extractvalue也可以实现, 在oracle数据库的视图中直接使用就可以了.
    下面我先介绍extractvalue解析的两种方式.

    XML节点中含属性

    <AAA>
    	<BBB id = "b1"/>
    	<BBB id = "b2">
        	好转
        </BBB>
    	<BBB name = "bbb"/>
    	<BBB/>
    </AAA>
    

    以上内容保存在表binglinrjilunr字段, 其数据类型为clob, 如果我需要取节点<BBB id = "b2">好转</BBB>内的值, 只需以下的语句即可, 结果值为好转

    SELECT extractvalue(XMLTYPE(b.jilunr),'/AAA/BBB[@id="b2"]') FROM binglinr B
    

    XML节点中没有属性,且多个重复

    <AAA>
    	<BBB>
        	治愈
     	</BBB>
        <BBB>
        	好转
        </BBB>
    	<BBB>
        	其他
        </BBB>
    </AAA>
    

    如果要获取指定节点的值, 只需指定节点的序号即可, 比如我要获取好转的值,

    SELECT extractvalue(XMLTYPE(b.jilunr),'/AAA/BBB[2]') FROM binglinr B
    

    终极方案 从Oracle官网说起

    Oracle官网的说明EXTRACTVALUE
    如上文sql语句中所写, 传入的第二个参数是xmlxpath_string, 实际中只要满足xml的xPath解析规则都可以实现节点内容的获取, 具体的解析规则, 可以参考这篇文章xml的xPath解析规则

    注意事项

    实际使用中, 不应直接在sql语句中使用, 最好写一个函数, 当extractvalue解析出现异常情况(比如返回了多个节点)时以其他字符返回.

    展开全文
  • cx_Oracle使用方法

    万次阅读 2017-01-12 10:13:34
    cx_Oracle使用方法 正确安装好cx_oracle之后,要使用它来连接到oracle数据库进行操作,具体应该分3步走: 第一步:导入cx_Oracle ,建立连接 >>> import cx_Oracle # 导入模块 >>> db = cx_Oracle.connect...

    cx_Oracle使用方法

    正确安装好cx_oracle之后,要使用它来连接到oracle数据库进行操作,具体应该分3步走:

    第一步:导入cx_Oracle ,建立连接

    >>> import cx_Oracle      # 导入模块 
    >>> db = cx_Oracle.connect('hr', 'hrpwd', 'localhost:1521/XE') 建立连接,3 个参数分开写
    >>> db1 = cx_Oracle.connect('hr/hrpwd@localhost:1521/XE') 建立连接,3 个参数连写
    >>> dsn_tns = cx_Oracle.makedsn('localhost', 1521, 'XE')
    >>> print dsn_tns 
    (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
    (CONNECT_DATA=(SID=XE)))
    >>> db2 = cx_Oracle.connect('hr', 'hrpwd', dsn_tns)
    >>> print db.version
    10.2.0.1.0
    >>> versioning = db.version.split('.')
    >>> print versioning
    ['10', '2', '0', '1', '0']
    >>> if versioning[0]=='10':
    ...       print "Running 10g"
    ... elif versioning[0]=='9':
    ...      print "Running 9i"
    ...
    Running 10g
    >>> print db.dsn
    localhost:1521/XE

    第二步:建立 Cursor 光标

    >>>cursor = db.cursor() 建立一个cursor
    之后,我们可以调用这个cursor.execute(‘SQL‘) 来执行SQL语句。比如:
    >>>cursor.execute(‘select * from tabs’)
    执行完毕以后,可以调用cursor.fetchall()一次取完所有结果,或者cursor.fetchone()一次取一行结果
    >>>row=cursor.fetchall()
    >>>for row in rows:
          For v in row:
             Print v,
           Print

    这样就可以按照表格的形式打印取得的结果了!
    在从oracle取出数据的时候,考虑到它的数据类型了吗?下面就是数据类型的对应表

    带参数的查询:

    >>> named_params = {'dept_id':50, 'sal':1000}
    >>> query1 = cursor.execute('SELECT * FROM employees WHERE department_id=:dept_id AND salary>:sal', named_params)
    >>> query2 = cursor.execute('SELECT * FROM employees WHERE department_id=:dept_id AND salary>:sal', dept_id=50, sal=1000)
    这种是名字参数,还可以按位置参数:
    r1 = cursor.execute('SELECT * FROM locations WHERE country_id=:1 AND city=:2', ('US', 'Seattle'))
    注意:
    当只有一次参数的时候,也要把它写成元组的形式,比如
    Cursor.execute(‘select name from user where id=:1’,(login_Id,))
    千万要注意,login_id后面还带有一个逗号!
    Cursor. Prepare的用法,
    这个方法就是在prepare之后,你再去execute的时候,就不用写上sql语句参数了
    >>> cursor.prepare('SELECT * FROM jobs WHERE min_salary>:min')
    >>> r = cursor.execute(None, {'min':1000}) #注意,第一个参数是None,

    一次执行多条sql语句

    Large insert operations don't require many separate inserts because Python fully supports inserting many rows at once with the cx_Oracle.Cursor.executemany method. Limiting the number of execute operations improves program performance a lot and should be the first thing to think about when writing applications heavy on INSERTs.
    Let's create a table for a Python module list, this time directly from Python. You will drop it later.

    >>> create_table = """
    CREATE TABLE python_modules (
      module_name VARCHAR2(50) NOT NULL,
      file_path VARCHAR2(300) NOT NULL
    )
    
    >>> from sys import modules
    >>> cursor.execute(create_table)
    >>> M = []
    >>> for m_name, m_info in modules.items():
    ...     try:
    ...       M.append((m_name, m_info.__file__))
    ...     except AttributeError:
    ...       pass
    ...
    
    >>> len(M)
    76
    >>> cursor.prepare("INSERT INTO python_modules(module_name, file_path) VALUES (:1, :2)")
    >>> cursor.executemany(None, M)
    >>> db.commit()
    >>> r = cursor.execute("SELECT COUNT(*) FROM python_modules")
    >>> print cursor.fetchone()
    (76,)
    >>> cursor.execute("DROP TABLE python_modules PURGE")
    展开全文
  • plsql连接oracle使用like模糊查询中文不成功的问题 执行:select userenv(‘language’) from dual;查看oracle服务器的编码集 在你的操作系统下,设置环境变量。 变量名:NLS_LANG,变量值:(第一步的编码集...

    plsql连接oracle使用like模糊查询中文不成功的问题

    1. 执行:select userenv(‘language’) from dual;查看oracle服务器的编码集
      这里写图片描述
    2. 在你的操作系统下,设置环境变量。
      变量名:NLS_LANG,变量值:(第一步的编码集)
      这里写图片描述
    3. 打开plsql–首选项–Oracle—连接
      ①设置Oracle主目录名:OraClient11g_home1
      ②设置OCI库:C:\soft\oracle_client\oci.dll(对应在你的Oracle客户端地址下)
      ③应用并重启plsql
      这里写图片描述

    4. 重启plsql问题解决。

    展开全文
  • oracle使用命令连接到sys超级用户

    千次阅读 2017-07-17 15:48:31
    oracle使用命令连接到sys超级用户 1、输入conn sys; 密码格式:密码 + as sysdba(因为oracle输入密码时不显示符号,注意空格)。

    oracle使用命令连接到sys超级用户

    1、输入conn sys;  密码格式:密码 + as sysdba(因为oracle输入密码时不显示符号,注意空格)。






    2、输入conn sys as sysdba。然后输入密码即可。
    展开全文
  • ORACLE 使用 LIKE 模糊查询效率慢

    千次阅读 2018-05-03 17:24:15
    ORACLE 使用 LIKE 模糊查询效率慢   原因: 1、使用 LIKE 模糊查询效率慢会索引失效从而引起全表扫描。   解决方法: 1、将like '%%' 改成 ‘% ' 或 ’%‘. 2、使用Oracle内部函数:INSTR()。 如: ...
  • Oracle使用scott用户登录提示密码过期在初次安装oracle的时候,很多人在解锁scott用户的同时会忘记给scott 用户初始化密码, 但是oracle会给scott 用户设置一个默认的密码那就是tiger , 可是在安装成功之后使用...
  • ORACLE 使用关联更新做update 优化方案

    千次阅读 2018-11-12 09:53:55
    ORACLE 使用关联更新做update 优化方案 ** ORACLE数据库关系更新/修改 优化方案 –感谢您在百忙之中,来捧场,笔者有什么不对的地方,感谢您的纠正。 我们可以做个实验去验证一下 这里我们使用的是scott测试账户,方便...
  • Oracle使用sample获得随机结果集

    千次阅读 2018-05-10 11:52:41
    Oracle使用sample获得随机结果集 语法: SAMPLE [ BLOCK ](sample_percent)[ SEED (seed_value) ] SAMPLE选项:表示按行采样来执行一个全表扫描,Oracle从表中读取特定百分比的记录,并判断是否满足WHERE子句以...
  • oracle使用like匹配特殊字符解决办法

    千次阅读 2017-02-16 00:39:15
    oracle使用like匹配特殊字符解决办法
  • oracle 使用spool导出数据到文件

    万次阅读 2016-08-06 17:49:56
    --oracle 使用spool导出数据到文件 需要将数据库中的数据以txt文本形式导出,可以用spool方式导出。 --创建脚本文件 spool.sql --添加如下语句 SPOOL D:\works\数据库dump\spool\bbb.txt set echo off ...
  • oracle 使用异常exception

    万次阅读 2018-09-26 10:02:08
    Oracle提供了预定义例外、非预定义例外和自定义例外等三种例外类型,其中预定义例外用于处理常见的Oracle错误,非预定义例外用于处理预定义例外所不能处理的Oracle错误,自定义例外用于处理与Oracle错误无关的其他...
  • oracle 使用listagg函数后 字符串连接的结果过长最终解决 SELECT r.department_id law_dept_id, ( SELECT xmlagg(xmlparse(content rt.extracted_person_ids||',' wellformed) order by rt.extracted_p...
  • ORACLE使用WITH AS和HINT MATERIALIZE优化SQL解决FILTER效率低下
  • Oracle使用expdp时遇到ORA-39002、ORA-39070错误  使用expdp时,遇到”ORA-39002、ORA-39070......”连续报错。 1、 遇到的问题 C:\Users\Administrator>expdp 'sys/system as sysdba' directory=backup ...
  • linux中oracle使用root登陆

    千次阅读 2017-10-31 12:00:55
    使用root用户登录oracle oracle在安装后会有默认的两个管理员账户sys和system sys超级管理员 system系统管理员 [root@localhost ~]# sqlplus sys/passwd as sysdba 或者 sqlplus sys/passwd as sysoper#sys...
  • oracle使用impdp方式导入数据

    万次阅读 2018-09-17 17:14:29
    impdp 用户名/密码 schemas=要导入的用户(即是使用expdp导出的用户) directory=创建的文件夹名称(directory_name) dumpfile=test.dmp(要放入到directory路径下) logfile=imp.log(可以不写)   --导入时必须...
  • Oracle使用管理员账户登录

    万次阅读 2018-10-10 10:44:22
    在校学习Oracle数据库时没有注意过这些细节抑或是时间太久没操作已经忘却了,昨天尝试本地建库使用nifi时发现scott账户被放开以后可以登录但是sys和system两个管理员账户在sqlplus和navicat上都无法登录,后来查阅...
  • Oracle 使用 “ DROP TABLE ” 语句 BUG

    千次阅读 2018-11-02 14:26:58
    Oracle 版本 :Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production 查询Oracle 版本SQL : select * FROM V$VERSION; 在执行sql/plus脚本时,遇到了 执行 drop table 语句非常慢,...
  • Oracle使用describe命令

    万次阅读 2013-11-26 14:46:30
    HELP[topic] :查看命令的使用方法,如 HELP DESC HOST :可以从SQLPLUS环境切换到操作系统环境,以便执行操作系统命令 HOST 操作系统命令 :执行操作系统命令 ,如 HOST notepad.exe CLEAR SCR[EEN] :清楚屏幕...
  • Oracle 11gR2开始,Oracle推荐使用deinstall来卸载Oracle数据库。使用Oracle Universal Install(OUI) 的图形方式来卸载Oracle数据库软件了,会看到下图警告: "请运行命令D:\app\admin\product\11.2.0\dbhome_1\...
  • 在linux或者unix系统上使用sqlplus命令来登录用户的时候我们经常会直接使用以下命令来登录: sqlplus scott/scott; 但是这样登录在安全性上来说是不好的 我们可以直接使用ps命令来直接看到这个用户的用户名和...
  • Oracle使用实例:exp和expdp导出数据

    千次阅读 2017-10-17 14:36:29
    EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。 IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。实践场景导出数据库...
  • Oracle使用DBLINK实现跨库查询

    千次阅读 2015-09-23 17:28:13
    在对医院的审计中,因为该医院使用了两个HIS系统,涉及到两个Oracle数据库,在使用中就要用到跨库查询(主操作数据库为rmyytj,跨库查询数据库为rmyyzl)。先将语句写下来,再分析:DROP PUBLIC DATABASE LINK ...
  • Oracle使用order by排序关于null值处理

    万次阅读 2015-05-04 22:44:43
    Oracle使用order by进行查询排序时,如果排序字段中有空值(null),排序结果可能会达不到我们想要的结果。如:select * from test order by age desc; 按照age字段降序排序,结果如下:将sql语句改为select * ...
  • Oracle使用foreach批量操作数据

    千次阅读 2019-07-09 08:47:29
    1.批量新增 INSERT INTO TABLENAME(FIELD1, FIELD2 FIELD3) <foreach collection="list" item="item" separator="UNION ALL" > SELECT #{item.FIELD1}, #{item.FIELD...
  • 有三种连接串的写法1....jdbc:oracle:thin:@<host>:<port>/如:jdbc:oracle:thin:@//123.123.123.1:8080/SN2.使用SID来连接: jdbc:oracle:thin:@<host>:<port>:如:jdbc:oracle:thin:@127.0.0.1:15
  • Oracle使用实例:创建只读用户

    万次阅读 2017-08-04 19:02:36
    场景:数据库dbtest(服务名)下,创建reader只读用户访问查询scott普通用户下的表及数据,这里先只介绍使用命令操作的一种方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 945,582
精华内容 378,232
关键字:

oracle如何使用