oracle使用execute immediate方式完成函数动态传入表名并操作 返回新的主键id值

CREATE OR REPLACE FUNCTION SEQ1 (v_bname in VARCHAR2) return NUMBER is

v_bcount NUMBER;
BEGIN

            execute immediate ‘select count(*)  from ‘||v_bname into v_bcount;

            dbms_output.put_line(v_bname||‘------------------‘||v_bcount);
return(v_bcount+1);

end SEQ1;

  

原文地址:https://www.cnblogs.com/qinyios/p/11231017.html

时间: 2024-08-03 10:53:31

oracle使用execute immediate方式完成函数动态传入表名并操作 返回新的主键id值的相关文章

Mybatis中使用Oracle插入数据返回新记录主键ID的问题

下面是我的Mapper配置 1 <insert id="insertXiangce" parameterType="XiangCe"> <!-- useGeneratedKeys="true" keyProperty="paid" --> 2 3 <selectKey keyProperty="paid" resultType="Integer" order

Oracle 在函数或存储过程中执行一条插入语句并返回主键ID值

有时,我们需要往一张表插入一条记录,同时返回主键ID值. 假定主键ID的值都是通过对应表的SEQUENCE来获得,然后进行ID赋值 这里有几种情况需要注意: 1)如果建表语句含有主键ID的触发器,通过触发器来实现主键ID的自增,实现方式如下: INSERT INTO GP_MONTH_BILL ( MONTH, BONUS_VALUE, CUR_WAY, CUR_TIME, STATUS, IS_USE, CREATE_TIME) VALUES ( CUR_MONTH, CUR_BONUS_VA

MyBatis,动态传入表名,字段名的解决办法

转载:http://luoyu-ds.iteye.com/blog/1517607 今天做项目,遇到的问题就是需求修改数据表的记录,而且字段名都不是固定的,也就是说是需要通过参数传入的, 本来这也不是什么难题,按照平常的JDBC,或者hibernate里也都好实现,可问题是现在项目用的mybatis这个持久层框架,按照我的刚开始的想法初使sql是这样的, 当我满心欢喜的运行才发现不行,遂百度之,办法种用尽,还是不行,有人给我说需要把字段那一项换成${field},这种办法来取,试之,无果,于是我

mybatis动态传入表名、列名

原文:http://luoyu-ds.iteye.com/blog/1517607 要实现动态传入表名.列名,需要做如下修改 添加属性statementType="STATEMENT" (可省略) 同时sql里的属有变量取值都改成${xxxx},而不是#{xxx} <delete id="deleteTableData" parameterType="java.util.Map" statementType="STATEMENT&

[转]MyBatis动态传入表名,字段名参数的解决办法

一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能.今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字段不让用户查询到.这种情况下,就需要构建sql来动态传入表名.字段名了.现在对解决方法进行下总结,希望对遇到同样问题的伙伴有些帮助. 动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态sql进行处理.下面让我们先

ibatis 动态传入表名

项目中需要根据不同的表名和列名生成不同的select语句,我想ibatis这里也应该是用预编译的形式存储???? 不太了解具体原理,反正我知道在用oci库的时候,是可以的;用sprinf("sql","xx","xx"),一下,就可以了.oci库肯定是用预编译的形式干的! 于是,我上网查了查,感觉类似的问题有,可没给出一个完整的例子.想了一想,既然你能动态传入map,map里面存储了相应的查询值,那你 ibatis肯定也能传入其他元数据信息吧.测

mysql 动态传入表名参数的存储过程写法

delimiter // create procedure oneKey(in newName varchar(250),in oldName varchar(250),in idNum INT) BEGIN SET @sqlStmt = CONCAT('insert into ',newName,' (`name`,`age`,`sex`,`major`,`pass`,`photo`) select `name`,`age`,`sex`,`major`,`pass`,`photo` from

MyBatis动态传入表名,字段名参数的解决办法

<select id="getSearchTableInfo" parameterType="java.util.HashMap"    resultType="TableProfile" statementType="STATEMENT">        select id as unid,name        from ${tb}    </select> AA statementType:STA

mybatis动态调用表名和字段名

一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能.今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字段不让用户查询到.这种情况下,就需要构建sql来动态传入表名.字段名了.现在对解决方法进行下总结,希望对遇到同样问题的伙伴有些帮助. 动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态sql进行处理.下面让我们先