精华内容
下载资源
问答
  • 在Oracle数据库中查询所有触发器、存储过程、视图、表 在Oracle数据库中查询所有触发器、存储过程、视图、表 方法一: Select object_name From user_objects Where object_type='TRIGGER'; --所有...

    在Oracle数据库中查询所有触发器、存储过程、视图、表

    在Oracle数据库中查询所有触发器、存储过程、视图、表

    方法一:
    Select object_name From user_objects Where object_type='TRIGGER';  --所有触发器

    Select object_name From user_objects Where object_type='PROCEDURE';  --所有存储过程

    Select object_name From user_objects Where object_type='VIEW';  --所有视图

    Select object_name From user_objects Where object_type='TABLE'; --所有表

    方法二:

    当然,还可以试试下面的语句

    Select * From user_triggers; --所有触发器

    Select * From user_procedures; --所有存储过程

    Select * From user_views; --所有视图

    Select * From user_tables; --所有表

    展开全文
  • <select id="queryUserByPgeHelper" resultType="com.wisemax.hnrb.dto.HnrbUser" > select user_name as userName FROM COM_T_USER ORDER by user_name desc </select>
  • 在oracle数据库中存储BLOB类型的数据

    万次阅读 2018-06-11 21:27:01
    在oracle中存储BLOB类型的数据,不能和普通的String类型一样存储,而是要通过一个唯一标识来帮助储存更新,具体实现代码如下:public boolean putSignPic(String uuid, byte[] signPic) throws SQLException{ ...
           在oracle中存储BLOB类型的数据,不能和普通的String类型一样存储,而是要通过一个唯一标识来帮助储存更新,具体实现代码如下:
    public boolean putSignPic(String uuid, byte[] signPic) throws SQLException{
    		boolean b = false;
    		Statement stmt = null;
    		NewProxyResultSet update = null;
    		Connection conn = DataSourceUtils.getConnection();
    		if (conn != null) {
    			try {
    				stmt = conn.createStatement();
    				stmt.executeUpdate("UPDATE T_SIGNATURE SET SIGNPIC=EMPTY_BLOB() WHERE UUID='" + uuid +  "'");
    				stmt.close();
    				conn.setAutoCommit(false);
    				stmt = conn.createStatement();
    				update = (NewProxyResultSet) stmt
    						.executeQuery("SELECT SIGNPIC FROM T_SIGNATURE WHERE UUID='" + uuid + "'FOR UPDATE");
    				if (update != null && update.next()) {
    					BLOB strSignData = null;
    					strSignData = (BLOB) update.getBlob("SIGNPIC");
    					byte[] temp_byte_xml = signPic;
    					if (temp_byte_xml != null) {
    						b = PutAtBlob(strSignData, signPic,
    								temp_byte_xml.length);
    						
    						conn.commit();
    						conn.setAutoCommit(true);
    					}
    
    				}
    				
    			} catch (Exception e) {
    				logger.error(e);
    				return false;
    			} finally {
    				try {
    					if (update != null) {
    						update.close();
    					}
    				} catch (SQLException e) {
    					logger.error("OracleResultSet关闭异常:" + e.toString());
    				}
    				try {
    					//2015-12-14
    					if(stmt != null){
    						stmt.close();
    					}
    				} catch (SQLException e) {
    					logger.error("Statement关闭异常:" + e.toString());
    				}
    				try {
    					//2015-12-14
    					if(conn != null){
    						conn.close();
    					}
    				} catch (SQLException e) {
    					logger.error("数据库连接关闭异常:" + e.toString());
    				}
    			}
    		}
    		System.out.println("在数据库BLOB类型的字段SignPic中存入图片成功!!!");
    		return b;
    	}
    
    /**
    	 * 从字节数组中存放规定大小的数据至ORCLE BLOB对象中
    	 * 
    	 * @throws SQLException
    	 * @throws IOException
    	 */
    	private boolean PutAtBlob(BLOB vField, byte[] b, int vSize)
    			throws SQLException, IOException {
    		boolean mResult = false;
    		OutputStream outstream = null;
    		try {
    			outstream = vField.getBinaryOutputStream();
    			outstream.write(b, 0, vSize);
    			// outstream.write(b);
    			outstream.close();
    			mResult = true;
    		} catch (IOException e) {
    			logger.error(e.toString());
    		} finally {
    			if (outstream != null) {
    				SignExcuteUtil.outputStreamClose(outstream);
    			}
    		}
    		return mResult;
    	}

    展开全文
  • 1. Oracle数据库中创建自增序列 create sequence SEQ_USER_ID start with 1 increment by 1 minvalue 1 nomaxvalue nocycle 2. mybatis的mapper.xml中: select SEQ_USER_ID.NEXTVAL from dual insert

    Mybatis 示例之 SelectKey:http://blog.csdn.net/isea533/article/details/21153791


    1. Oracle数据库中创建自增序列

    create sequence SEQ_USER_ID
    start with 1 
    increment by 1 
    minvalue 1 
    nomaxvalue
    nocycle

    2. mybatis的mapper.xml中:

    (selectKey的结果会放进传参user对象中)

      <insert id="createUser" parameterType="pojo.User">
    	<selectKey keyProperty="userId" resultType="int" order="BEFORE">  
        	select SEQ_USER_ID.NEXTVAL from dual  
    	</selectKey>
        insert into "USER" (USER_ID, USER_NAME, PASSWORD)
        values (#{userId,jdbcType=DECIMAL}, #{userName,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}
          )
      </insert>


    3. 

    User user = new User();
    user.setUserName("abc");
    user.setPassword("abc");
    System.out.println(userService.createUser(user));
    System.out.println(user.getUserId());
    插入成功则输出1和userId值。


    展开全文
  • Oracle 数据库中,通常不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中 2. 建立数据库间的 dblink,然后用 create ...
     
    

    在 Oracle 数据库中,通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法:
    1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中
    2. 建立数据库间的 dblink,然后用 create table B as select * from
       A@dblink  where ...,或 insert into B select * from A@dblink
       where ...
    3. exp A 表,再 imp 到 B 表,exp 时可加查询条件
    4. 程序实现 select from A ..,然后 insert into B ...,也要分批提交
    5. Sql Loader(sqlldr) 导入数据,效果比起逐条 insert 来很明显。

    方法一
    操作步骤:
    用pl/sql developer登陆Oracle,选择工具->Export Tables...->选择需要的表->Export到指定目录
    打开cmd命令窗口输入下面语句
    imp 用户名/密码@数据库实例名 file=dmp文件存在的目录 log=日志文件存在的目录fromuser=用户名 touser=用户名 commit=y
    如:imp system/system@ring218 file=D:\dbscript\usdp\usdp_212.dmp log=D:\imp_usdp_sh.log fromuser=usdp604 touser=usdp604 commit=y

    方法二:
    Sql Loader导入
    eg:
    创建一个控制文件(.ctl):
    OPTIONS (skip=1,rows=128,errors=100000) --sqlldr 命令显示的选项可以写到这里边来,skip=1 用来跳过数据中的第一行
    LOAD DATA 
    INFILE "users_data.csv" --要导入的文件,可以用多个infile也可以用 * 表示所有
    BADFILE "路径" --指定BAD文件存放的路径
    insert/append/replace/truncate --默认为insert
    INTO TABLE users
    when 字段2<>'8' --可以用 when 子句选择导入符合条件的记录
    CHARACTER SET utf8 FIELDS TERMINATED BY ','--字符编码
    Fields terminated by "," --数据中每行记录用 "," 分隔 
    --注意:请加上下面一行句子
    Optionally enclosed by '"' --数据中每个字段用 '"' 框起,比如字段中有 "," 分隔符时 
    trailing nullcols
    (
    字段1 integer,--可以为字段指定类型
    字段2 "user_seq.nextval",--直接取序列的下一值
    字段3 FILLER,--跳过此字段
    字段4 "'Hi '||upper(:字段4)",--用SQL函数或运算对数据进行加工处理
    字段5 terminated by ",",NULLIF(字段5='NULL')--为列单独指定分隔符
    字段6 DATE "YYYY-MM-DD HH24:MI:SS" NULLIF(字段6="NULL") --当字段为"NULL"时就是 NULL),
    字段7 char(1000)--控制文件中的字段默认为char256,超过256需要指定长度,否则Log会报数据文件的字段超出最大长度

    注:
    1) insert   --为缺省方式,在数据装载开始时要求表为空[/color]
    2) append   --在表中追加新记录[/color]
    3) replace  --删除旧记录(用 delete from table 语句),替换成新装载的记录
    4) truncate --删除旧记录(用 truncate table 语句),替换成新装载的记录

    详细参数说明,要着重关注以下几个参数:
    userid -- Oracle 的 username/password[@servicename]
    control -- 控制文件,可能包含表的数据
    ----------------------------------------------------------------------log -- 记录导入时的日志文件,默认为 控制文件(去除扩展名).log
    bad -- 坏数据文件,默认为 控制文件(去除扩展名).bad
    data -- 数据文件,一般在控制文件中指定。用参数控制文件中不指定数据文件更适于自动操作
    errors -- 允许的错误记录数,可以用他来控制一条记录都不能错
    rows -- 多少条记录提交一次,默认为 64
    skip -- 跳过的行数,比如导出的数据文件前面几行是表头或其他描述

    SQL *Loader 的性能与并发操作
    1) ROWS 的默认值为 64,你可以根据实际指定更合适的 ROWS 参数来指定每次提交记录数。(体验过在 PL/SQL Developer 中一次执行几条条以上的 insert 语句的情形吗?)

    2)常规导入可以通过使用 INSERT语句来导入数据。Direct导入可以跳过数据库的相关逻辑(DIRECT=TRUE),而直接将数据导入到数据文件中,可以提高导入数据的性能。当然,在很多情况下,不能使用此参数(如果主键重复的话会使索引的状态变成UNUSABLE!)。

    3) 通过指定 UNRECOVERABLE选项,可以关闭数据库的日志(是否要 alter table table1 nologging 呢?)。这个选项只能和 direct 一起使用。

    4) 对于超大数据文件的导入就要用并发操作了,即同时运行多个导入任务.

      sqlldr userid=/ control=result1.ctl direct=true parallel=true  
      sqlldr userid=/ control=result2.ctl direct=true parallel=true  
      sqlldr userid=/ control=result2.ctl direct=true parallel=true  

      当加载大量数据时(大约超过10GB),最好抑制日志的产生:  
     
      SQL>ALTER   TABLE   RESULTXT   nologging;
     
      这样不产生REDO LOG,可以提高效率。然后在 CONTROL 文件中 load data 上面加一行:unrecoverable,  此选项必须要与DIRECT共同应用。  
     
      在并发操作时,ORACLE声称可以达到每小时处理100GB数据的能力!其实,估计能到 1-10G 就算不错了,开始可用结构 相同的文件,但只有少量数据,成功后开始加载大量数据,这样可以避免时间的浪费

    展开全文
  • 使用Oracle数据库,mybatis的映射文件日期类型的数据,如果定义为&lt;result column =“UPDATED_DATE" jdbcType =“DATE” property =“updatedDate”/&gt;,即使后台你为日期赋予年月日时分秒,...
  • ),琢磨了一个上午,听起来需求有点变态,Oracle是非关系型数据库不考虑性能场景下唯一能做的就是全库遍历,假设字段为varchar类型。废话不多说,直接上存储过程:CREATE OR REPLACE procedure QUERY_KEY( ...
  • 1、SQL Plus,执行如下命令打印hello world: SQL&gt; set serveroutput on size 100000 SQL&gt; exec dbms_output.put_line('hello world'); 代码解释:首先要打开输出,设置输出缓冲区(默认为0...
  • 1. 复制表结构及其数据: create table new_table as select * from old_table 2. 只复制表结构: create table new_tableas select * from old_tablewhere 1=2; 或者: ...create table new_table like old_...
  • 在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。 Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。 创建语句如下: CREATE SEQUENCE seqTest INCREMENT...
  • 在Oracle数据库中,用于数据备份的触发器及表结构 对当前的数据表的插入、删除、更新等进行记录,并把操作日期、操作者、原来数据、现在数据都作为备份,以便于在当前备出现问题的时候能够给以恢愎。 当然,最好...
  • 在ORACLE数据库中如何修改表的所有者 例如:用户A有很多表,用户B也有很多表,我想把A下的表都移到B下,这样,原来A中表的所有者变成了用户B,从而可把用户A删除,求教各位高手,怎么做???
  • 就是创建一个SEQUENCE,...① 在数据库中操作: CREATE SEQUENCE CONFIG_KEYWORD_GATHER_SEQ; XXXMapper.xml中代码: select CONFIG_KEYWORD_GATHER_SEQ.NEXTVAL from dual insert into CONFIG_KEYWOR
  • 1.在Oracle数据库中查询时间的时候,首先就是把日期从date类型的转化为String类型的。 2.将date类型的转成String类型的,直接调用传入date类型的参数,返回String类型的字符串 public static String dateToStr...
  • 前些天配合实施项目时遇到了一个问题,导出的初始化脚本,需要设置一个字段的初始化值,该值是一个url,含有&符号 例如:http://www.xxx.com?a=1&b=2 但是执行脚本时,弹出提示,输入变量的值,刚开始被这...
  • 在ORACLE数据库中彻底删除数据文件

    千次阅读 2008-12-01 09:13:00
    归档模式下:alter database drop datafile xxx/xxx.dbf;... 以上命令只是将该数据文件OFFLINE,而不是在数据库中删除数据文件。该数据文件的信息控制文件种仍存在。查询v$datafile,仍显示该文件。 要彻底
  • sql语句使用系统函数sys_guid()即可,比如:向temperature表插入一条数据,主键是用uuid生成的。 insert into temperature (pkid,temperature,date,time) values(sys_guid(),'33','2013-05-20','10:33:04') ...
  • 在Oracle数据库中时间的存储和读取(读取时、分、秒)一般数据库中时间的格式为DATE类型,而我们从页面中获取的时间往往为String类型,这个就需要类型的转换。一般我们会通过调用 java.text.SimpleDateFormat JAVA类来...
  • 在oracle数据库中如何插入CLOB值

    万次阅读 2006-04-19 16:53:00
    轉貼:http://blog.csdn.net/cmtobby/oracle中最常用的varcher2类型最多只能存储4000个字节的内容,一般情况下是能够满足用户的需求的。但是一些特殊情况下(如要存储图片或者要存储的内容超过了4000个字节),...
  • 使用: truncate table tablename DROP STORAGE; 解释: 直接删除表,并且释放存储空间。truncate的意思是清空表数据, “DROP STORAGE”是释放存储空间。
  • SELECT createtime FROM um_user WHERE createtime BETWEEN to_date( '2018-01-01', 'yyyy-mm-dd' ) AND to_date( '2018-12-31', 'yyyy-mm-dd' ) ORDER BY createtime DESC SELECT ... u...
  • 在oracle数据库中,如何用sql语句将销量排名前十的商品查询出来
  • select * from jzcd_doc_type where rownum
  • Oracle数据库中实现limit功能

    千次阅读 2020-09-16 17:08:17
    oracle数据库中是没有limit关键字的,想在Oracle数据库中实现limit功能可以通过使用rownum来限制结果集行数。 使用将tableName替换成自己的表名就可以 例子1:返回结果集中前10行 select * from tableName where ...
  • Oracle数据库

    万人学习 2016-12-31 09:04:38
    本课程主要讲解如下内容:Oracle体系结构、Oracle 基础管理、SQL 语言、Sequence和...本课程讲解之会提供有相应的练习习题以及综合案例分析,帮助读者迅速掌握Oracle数据库的核心开发技能。官方QQ群:612148723。
  • Oracle数据库中 to_date()函数的用法

    万次阅读 多人点赞 2017-12-12 19:23:00
    在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法to_date()与24小时制表示法及mm分钟的显示:一、在使用Oracle的to_date函数来做日期转换时,很多Java...
  • Oracle数据库中启动Scott用户的方法

    千次阅读 2018-05-16 21:20:15
    在Oracle数据库中启动Scott用户的方法 Oracle中启动Scott用户的方法,在Oracle10g,(g 代表‘网络’的意思) 数据库中 Scott 这个用户安装时是被锁定的,安装Oracle的时候,你可以直接选择给该用户解锁,如果忘记了...
  • 这个功能是在DOS窗口实现的,可并非是在Oracle数据库中执行的 先说本地的导出与导入: 备份(也叫导出): exp用户名/密码@本地服务名 file = 目标地址 (注:导出的文件是在硬盘上生成后缀名为dmp的文件) 还原...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 78,952
精华内容 31,580
关键字:

在oracle数据库中