Oracle 存储过程动态建表】的更多相关文章

动态sql,顾名思义就是动态执行的sql,也就是说在没执行之前是动态的拼接的. 任务 传入参数:新建的表名hd+当前的年和月,例如hd_201105表结构是:字段1:id ,类型是number,可以自动增加 字段2:name 类型是varcha2,长度20 字段3:city 类型是varchar2,长度20 建立序列: create sequence t_id increment start nomaxvalue cache ; 建立自动建表过程: create or replace proce…
在网上查了很多,都说Mybatis不支持动态建表,心凉了一节.还好找到这么一篇,找到了希望:http://www.zzzyk.com/show/ec5660d9cf1071b3.htm 经过在mysql环境下验证,确实可用,不知道其他数据库是否支持,如下: Mapper.xml <update id="createNewTable"> create table `${realTableName}`( `id` int(11) NOT NULL AUTO_INCREMENT,…
MongoDB动态建表方案(官方原生驱动) 需求前提:表名动态,表结构静态,库固定 1.导入相关依赖 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.11.2</version> </dependency> <dependency> <groupId&g…
一.在oracle项目开发中越到问题: 在利用ODP向oracle中插入数据时,如果这样写:   insert into clobTable (id, story) values(1,'....'); 其中story为clob类型   如果story的长度大于2000字节,直接插入将出现 ORA-01704:文字字符串过长 的错误. 解决方案:       方案一.利用参数   insert into clobTable (id, story) values(1,:story);   Oracl…
关于Oracle存储过程执行权限问题的解决 http://blog.sina.com.cn/s/blog_6ceed3280101hvlo.html (2014-04-02 04:06:28) 转载▼   分类: oracle-基础     今天晚上升级,有个存储过程死活编译不过去,提示权限不足,但是用户是具有dba权限的,网上一查才知道,oracle存储过程分两种,DR(Definer's Rights ) Procedure和IR(Invoker's Rights ) Procedure.…
第一种方法是使用工具,如:pl/sql developer,在[工具]--[导出用户对象]出现就可以得到建表脚本. 第二种方法是,sql语句. DBMS_METADATA.GET_DDL包可以得到数据库的对象的ddl脚本.如下(SQLPLUS中执行): 1.得 到一个表的ddl语句: SET SERVEROUTPUT ON SET LINESIZE 1000 SET FEEDBACK OFF set long 99999           set pagesize 4000 ---去除stor…
1. 使用oracle创建一张表: SQL> create table loginuser( id ,), username ), password ), email ), descriable ), regdate date); 创建表的语法: CREATE TABLE table_name( columns_name datatype,...... ); 显示创建表的信息: 表已创建. SQL> desc userinfo; 名称 是否为空? 类型 --------------------…
Oracle查询表的名字和comments select a.table_name,b.comments from user_tables a,ALL_TAB_COMMENTS b where a.table_name=b.table_name 查询字段的名字和comments select distinct a.COLUMN_NAME,b.comments from user_tab_columns a,user_col_comments b where a.COLUMN_NAME=b.col…
由于业务需求,需要按天分表,因此写了个存储过程,根据时间生成表. 根据createTime 的时间,以及 while循环的变量设置范围,生成该指定日期及之后的多张表. BEGIN ); ); ; '; do set @createSql = CONCAT('CREATE TABLE IF NOT EXISTS open_msg_',`@createTime`, '(`id` int(16) NOT NULL AUTO_INCREMENT, `msgType` varchar(2) DEFAULT…
查看进程: select * from v$process 根据存储过程名称查找是否被锁: select * FROM dba_ddl_locks where name =upper('sp_1'); select * FROM dba_ddl_locks where name like upper('%sp_1%'); select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.l…