Native Dynamic SQL

原创 2013年12月06日 09:18:33

1.Dynamic SQL with DML Statements

●Deleting rows from any table:

create function del_rows(table_name varchar2)
return number is
begin
  execute immediate 'delete from '||table_name;
  return sql%rowcount;
end;

begin
  dbms_output.put_line(
         del_rows('employee_names')||' rows deleted.');
end;
●Inserting a row into a table with two columns:

create procedure add_row(
       table_name varchar2,
       id number,
       name varchar2) is
begin
  execute immediate 'insert into '||table_name|| 
                    'values (:1,:2)' using id,name;
end;

2.Dynamic SQL with a Single-Row Query

create or replace function get_emp(emp_id number)
return employees%rowtype is
stmt varchar2(200);
emprec employees%rowtype;
begin
  stmt:='select * from employees '||'where employee_id=:id';
  execute immediate stmt into emprec using emp_id;
  return emprec;
end;
------------------------------------------------------------
declare
  emprec employees%rowtype := get_emp(100);
begin
  dbms_output.put_line('emp:'||emprec.last_name);
end;

3.Dynamic SQL with a Multirow Query

create or replace procedure list_employees(deptid number) is
  type emp_refcsr is ref cursor;
  emp_cv emp_refcsr;
  emprec employees%rowtype;
  stmt varchar2(200) := 'select * from employees';
begin
  if deptid is null then 
     open emp_cv for stmt;
  else
     stmt:=stmt ||' where department_id = :id';
  open emp_cv for stmt using deptid;
  end if;
  loop
    fetch emp_cv into emprec;
    exit when emp_cv%notfound;
    dbms_output.put_line(emprec.department_id ||''||emprec.last_name);
  end loop;
  close emp_cv;
end;

4.Dynamically Executing a PL/SQL Block

create function annual_sal(emp_id number)
return number is
       plsql varchar2(200) :=
             'DECLARE '||
             ' emprec employees%ROWTYPE; '||
             'BEGIN '||
             ' emprec := get_emp(:empid); '||
             ' :res := emprec.salary * 12; '||
             'END;';
       result NUMBER;
BEGIN
  EXECUTE IMMEDIATE plsql USING in emp_id,out result;
  RETURN result;
END;

5.Using Native Dynamic SQL to Compile PL/SQL Code

create or procedure complie_plsql(
       name varchar2,
       plsql_type varchar2,
       options varchar2:=null) is
   stmt varchar2(200):='alter '||plsql_type||''||name||' compile ';
begin
  if options is not null then
    stmt := stmt||''||options;
  end if;
  execute immediate stmt;
end;


Ibatis 关于DynamicSql源码的解读

一. 业务背景由于最近在做数据罗盘的开发,其中会有挺多的排序,聚会运算的要求。而我们利用了集团的garuda运算平台,想利用它建的智能索引和智能查询优化器来优化sql处理复杂业务,所以sql会堆上一些...
  • qq_16681169
  • qq_16681169
  • 2017年03月15日 15:33
  • 680

生成动态 SQL 语句的框架 MyBatis Dynamic SQL

这个库是生成动态 SQL 语句的框架。可把它看作是一个类型安全的 SQL 模板库,另外还支持 MyBatis3 和 Spring JDBC 模板。授权协议:Apache-2.0开发语言:Java SH...
  • ax8785r8C32nef593
  • ax8785r8C32nef593
  • 2017年12月21日 00:00
  • 75

ibatis 中动态SQL查询和动态标签嵌套的使用

ibatis 动态查询 对于从事 Java EE 的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,在 Hibernate、JPA 这样的一站式对象 / 关系映射(O/R Mapping...
  • u014475796
  • u014475796
  • 2016年05月09日 17:21
  • 5978

ABAP简介以及OpenSQL与NativeSQL的区别

ABAP的全称是Advanced Business Application Programming-高级业务应用编程语言,mySAP ECC 6.0的底层源代码,全部是使用ABAP编写的。因此,想要对...
  • champaignwolf
  • champaignwolf
  • 2016年03月04日 10:35
  • 2270

Oracle 中的动态采样(dynamic sampling)相关示例

Oracle dynamic sampling 功能说明。(附详细示例)
  • renfengjun
  • renfengjun
  • 2014年03月17日 14:17
  • 6792

SQL Server 2016新特性:动态数据屏蔽(Dynamic Data Masking)

动态数据屏蔽是SQL Server 2016引入的一项新的特性,通过数据屏蔽,你可以对非授权用户限制敏感数据的曝光。动态数据屏蔽会在查询结果集里隐藏指定栏位的敏感数据,而数据库中的实际数据并没有任何...
  • Burgess_Liu
  • Burgess_Liu
  • 2016年06月02日 09:33
  • 1745

建议15: 使用dynamic来简化反射实现

建议15: 使用dynamic来简化反射实现 dynamic是Framework 4.0的新特性。dynamic的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,编译器默认d...
  • houwc
  • houwc
  • 2016年08月31日 10:51
  • 438

介绍@dynamic的用法

介绍@dynamic的用法       Objective-C 2.0提供了属性(@property),可以让编译器自动生成setter和getter方法。如果不想编译器自作主张生成这些sette...
  • DayDreamingBoy
  • DayDreamingBoy
  • 2014年03月31日 17:41
  • 4626

.net反射与dynamic效率的简单比较

通过反射或dynamic,我们可以拿到Object类对象属性的值,但他们的又有什么差别呢?我做了一下简单的比较:...
  • zhifeiya
  • zhifeiya
  • 2015年04月13日 21:52
  • 1612

SQL SERVER连接字符串

原贴地址:https://www.connectionstrings.com/sql-server/ .NET Framework Data Provider for SQL Ser...
  • comhaqs
  • comhaqs
  • 2016年12月08日 14:44
  • 503
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Native Dynamic SQL
举报原因:
原因补充:

(最多只允许输入30个字)