易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle动态SQL语句


在使用ODP.NET进行Oracle编程时,有时候SQL语句非常复杂,需要采用动态构造查询语句的情况,有两种方法可以构造动态的SQL语句,并执行返回结果集。
1、在数据访问层构造SQL语句
例如下面的语句,将构造完整的SQL语句赋值给CommandText,再传递到数据库进行执行,返回结果集。
loadCommand.CommandType = CommandType.Text
   loadCommand.CommandText = "Select * from Users"
   dataAdapter .SelectCommand = loadCommand
   dataAdapter . Fill(data)
   dataAdapter .SelectCommand = loadCommand
   dataAdapter . Fill(data)
该方法需要将整个SQL的构造过程放在DataAccess层,业务逻辑发生变化,修改不方便,而且每次查询需要传递给数据库很长的查询字符串,传递参数的效率也不高。
2、在存储过程中构造动态SQL语句并执行
 以下为一个完整的事例(经过删减),其中RefCursor 为自定义游标类型
PROCEDURE G_Search(P_YearNO      IN NUMBER,
                              P_ControlType IN NUMBER,
                              P_Progress    IN CHAR,
                              P_DepartID    IN VARCHAR2,
                              P_ProjectName IN NVARCHAR2,
                           &n


相关文档:

oracle sql 时间间隔计算

计算间隔时间:
select f_date,f_cstime,f_cetime, (((SYSDATE- TO_DATE(f_date||f_cstime,'YYYYMMDDHH24MISS')) * 86400000)-((SYSDATE- TO_DATE(f_date||f_cetime,'YYYYMMDDHH24MISS')) * 86400000))/1000  CURRENT_MILLI from ycsq_t_hauthlog where f_cstime<>'999999'
将字符串转换成日期类:SYSDATE- TO_ ......

如何用SQL语句在两个数据库间复制存储过程

 --1.在目标服务器上建立如下对象(被同步的服务器)  
   
  if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[sys_syscomments_bak]')   and   OBJECTPROPERTY(id,   N'IsUserTable')   ......

如何用命令生成SQL SERVER脚本

如何用命令生成SQL   SERVER脚本  
   
  --以下生成整个数据库的SQL脚本,我测试了,相当好用。  
  --(scptxfr.exe的路径要正确以下是我的路径)  
  declare   @cMd   varchar(1000)  
  set   @cmd   =   'master.dbo.xp_cm ......

sql中中文列名

今天遇到一个问题:
在拼一条动态Sql语句时,由于是用字段的值做列名,所以列名用到了汉字。
一运行,报错:在“、”附件有语法错误。
很纳闷,难道超长了?
尝试在企业管理器中添加这个列名,发现添加完之后系统自动添加了一对中括号,对于"aa、bb","aa,bb"也都添加了中括号。
看来是微软为了以防万一,连 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号