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
相关文档:
引:现在一些中小企业都广泛使用MS Windows NT 为网络操作系统平台,SQL Server 为后台数据库构建企业内部的各种管理系统,该成熟技术的普及,能有效地帮助企业对内部数据进行管理。这类应用中,对数据库的备份是很重要的一项工作,其重要性不必多言。
其备份的方法很多,如:在一些规模较大、资金雄厚的企业,往往是 ......
--1.在目标服务器上建立如下对象(被同步的服务器)
if exists (select * from dbo.sysobjects where id = object_id(N'[sys_syscomments_bak]') and OBJECTPROPERTY(id, N'IsUserTable')   ......
如何用命令生成SQL SERVER脚本
--以下生成整个数据库的SQL脚本,我测试了,相当好用。
--(scptxfr.exe的路径要正确以下是我的路径)
declare @cMd varchar(1000)
set @cmd = 'master.dbo.xp_cm ......
在查询分析器中输入以下内容:
set statistics profile on
set statistics io on
set statistics time on
go
go
set statistics profile off
set statistics io off
set statistics time off ......