`
isiqi
  • 浏览: 15947772 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

数据库操作常用函数大全(Sql Server 2000 oracle9i)

阅读更多

程序代码:
using System;
using System.Reflection;
using System.Data;
using System.Configuration;

using HZAllview.Console.Utility;
namespace HZAllview.Console.Data.Common
{
///
/// 数据库操作的一些常用函数。
/// written by tmc
///
public abstract class AdoUtil
{

#region Factory

///
/// 根据配置文件指定的数据驱动提供者,加载相应的程序集
///
/// DbTable对象
public static AdoUtil Create()
{
//获得程序集路径
string path = AdoConfig.AssemblyPath;
//类名
string className = path + ".DbUtil";

//加载程序集
Assembly assembly = Assembly.Load(path);

//创建对象的实例
object adoUtil = assembly.CreateInstance(className);
if( adoUtil is AdoUtil )
{
return adoUtil as AdoUtil;
}
else
{
throw new InvalidOperationException( className +" 没有继承抽象类 HZAllview.Console.Data.Common.AdoUtil " );
}

}

#endregion

#region Format Date

///
/// 格式化日期字符串
///
/// param name="dateValue"日期字符串/param
///
public abstract string FormatDateString(string dateValue);

///
/// 格式化日期的年份字段
///
/// param name="dateField"日期字段/param
///
public abstract string DatePartYear(string dateField);

///
/// 格式化日期的月份字段
///
/// param name="dateField"日期字段/param
///
public abstract string DatePartMonth(string dateField);

///
/// 格式化日期的日字段
///
/// param name="dateField"日期字段/param
///
public abstract string DateParDay(string dateField);

#endregion

#region Constraint
///
/// 获得数据库中所有的主键
///
///
/// 返回DataTable,列如下
/// PKTable 主键表
/// PKConstraint 主键
/// KeyCol1 主键字段
///
public abstract DataTable GetPKConstraint();

///
/// 获得数据库中所有的外键
///
///
/// 返回DataTable,列如下
/// PKTable 主键表
/// FKTable 外键表
/// FKConstraint 外键
/// KeyCol1 主键字段
/// RefCol1 外键字段
///
public abstract DataTable GetFKConstraint();

///
/// Disable主键
///
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
public abstract void DisablePKConstraint(string pkTableName,string pkConstraint);

///
/// Disable外键
///
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
public abstract void DisableFKConstraint(string fkTableName,string fkConstraint);

///
/// Enable主键
///
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
/// param name="pkField"主键字段/param
public abstract void EnablePKConstraint(string pkTableName,string pkConstraint,string pkField);

///
/// Enable外键
///
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
/// param name="fkField"外键字段/param
/// param name="pkTableName"主键表/param
/// param name="pkField"主键字段/param
public abstract void EnableFKConstraint(string fkTableName,string fkConstraint,string fkField,string pkTableName,string pkField);

///
/// 删除主键
///
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
public abstract void DropPKConstraint(string pkTableName,string pkConstraint);

///
/// 删除外键
///
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
public abstract void DropFKConstraint(string fkTableName,string fkConstraint);

///
/// 创建主键
///
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
/// param name="pkField"主键字段/param
public abstract void CreatePKConstraint(string pkTableName,string pkConstraint,string pkField);

///
/// 创建外键
///
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
/// param name="fkField"外键字段/param
/// param name="pkTableName"主键表/param
/// param name="pkField"主键字段/param
public abstract void CreateFKConstraint(string fkTableName,string fkConstraint,string fkField,string pkTableName,string pkField);

#endregion

#region Identity
///
/// 允许将显式值插入表的标识列中
///
/// param name="tableName"表名/param
public virtual void SetIdentityInsertOn(string tableName)
{
}

///
/// 不允许将显式值插入表的标识列中
///
/// param name="tableName"表名/param
public virtual void SetIdentityInsertOff(string tableName)
{
}

///
/// 允许将显式值插入表的标识列中
///
/// param name="tableName"表名/param
public virtual string GetIdentityInsertOn(string tableName)
{
return "";
}

///
/// 不允许将显式值插入表的标识列中
///
/// param name="tableName"表名/param
public virtual string GetIdentityInsertOff(string tableName)
{
return "";
}

///
/// 获得下一个递增的ID。如果是ORACLE则返回下一个序列
///
/// param name="sName"递增的字段或序列/param
/// 下一个递增的ID
public abstract object NextIncreaseID(string seqName);

#endregion

#region Table
///
/// 获得数据库中所有的表
///
/// 以DataTable返回表的名称
public abstract DataTable GetTableNames();

///
/// 获得数据中表的注释
///
/// 以DataTable返回表的注释
public abstract DataTable GetTableComments();

///
/// 获得数据中表的注释
///
/// 返回表的注释
public abstract string GetTableComments(string tableName);

///
/// 格式化表名
///
/// param name="tableName"表名/param
///
public virtual string FormatTableName(string tableName)
{
return tableName;
}

#endregion

#region Field
///
/// 获得指定表中的所有字段名称
///
/// param name="TableName"指定的表名/param
/// 以DataTable返回字段的名称
public abstract DataTable GetFieldNames(string tableName);

///
/// 获得数据中字段的注释
///
/// 以DataTable返回字段的注释
public abstract DataTable GetFieldComments();

///
/// 获得数据中字段的注释
///
/// 以DataTable返回字段的注释
public abstract DataTable GetFieldComments(string tableName);

///
/// 获得数据中字段的注释
///
/// 返回字段的注释
public abstract string GetFieldComments(string tableName,string fieldName);

#endregion

#region View
///
/// 判断是否存在对应的视图
///
/// param name="viewName"视图名/param
/// 存在返回true,不存在返回fasle
public abstract bool ExistView(string viewName);

///
/// 获得数据库中所有的用户视图
///
/// 以DataTable返回视图的名称
public abstract DataTable GetViewNames();

///
/// 获得指定视图的内容
///
/// param name="viewName"视图名/param
///
public abstract string GetViewText(string viewName);

///
/// 删除数据库视图
///
/// param name="viewName"视图名/param
public abstract void DropView(string viewName);

///
/// 创建数据库视图
///
/// param name="viewName"视图名/param
/// param name="viewText"视图内容/param
public abstract void CreateView(string viewName,string viewText);

#endregion

#region Procedure
///
/// 获得数据库中所有的用户存储过程
///
/// 以DataTable返回存储过程的名称
public abstract DataTable GetProcedureNames();

///
/// 获得指定存储过程的内容
///
/// param name="procedureName"存储过程名/param
///
public abstract string GetProcedureText(string procedureName);

///
/// 删除数据库存储过程
///
/// param name="functionName"存储过程名/param
public abstract void DropProcedure(string procedureName);

///
/// 创建数据库存储过程
///
/// param name="procedureName"存储过程名/param
/// param name="procedureText"存储过程内容/param
public abstract void CreateProcedure(string procedureName, string procedureText);

#endregion

#region Function
///
/// 获得数据库中所有的用户函数
///
/// 以DataTable返回函数的名称
public abstract DataTable GetFunctionNames();

///
/// 获得指定函数的内容
///
/// param name="functionName"函数名/param
///
public abstract string GetFunctionText(string functionName);

///
/// 删除数据库函数
///
/// param name="functionName"函数名/param
public abstract void DropFunction(string functionName);

///
/// 创建数据库函数
///
/// param name="functionName"函数名/param
/// param name="functionText"函数内容/param
public abstract void CreateFunction(string functionName, string functionText);

#endregion

#region Trigger
///
/// 返回数据库中所有的触发器
///
///
/// 返回的DataTable列
/// TriggerName 触发器名称
/// TableName 触发器所在表名
/// /returns
public abstract DataTable GetTriggerName();

///
/// 删除触发器
///
/// param name="triggerName"触发器名称/param
public abstract void DropTrigger(string triggerName);

///
/// 创建触发器
///
/// param name="triggerName"触发器名称/param
/// param name="triggerText"触发器内容/param
public abstract void CreateTrigger(string triggerName,string triggerText);

///
/// Enable触发器
///
/// param name="triggerName"触发器名称/param
/// param name="tableName"触发器所在表名/param
public abstract void EnableTrigger(string triggerName,string tableName);

///
/// Disable触发器
///
/// param name="triggerName"触发器名称/param
/// param name="tableName"触发器所在表名/param
public abstract void DisableTrigger(string triggerName,string tableName);

#endregion

}
}

程序代码:
using System;
using System.Data;
using System.Data.OracleClient;
using HZAllview.Console.Data.Common;

namespace HZAllview.Console.Data.Oracle
{
/// summary
/// Oracle 数据库操作的一些常用函数
/// written by tmc
/// /summary
public class DbUtil : AdoUtil
{

#region Construction
/// summary
/// 需要预设的构造函数,以便工厂能被创建
/// /summary
public DbUtil()
{

}
#endregion

#region Format Date
/// summary
/// 格式化日期字符串
/// /summary
/// param name="dateValue"日期字符串/param
/// returns/returns
public override string FormatDateString(string dateValue)
{
if(dateValue == null || dateValue == "")
return "''";

dateValue = dateValue.Replace("00:00:00","").Trim(); //如果不存在"小时:分:妙",则剔除"00:00:00"

//如果包含"小时:分:妙"
if(dateValue.IndexOf(":") != -1)
{
return "TO_DATE('"+dateValue+"','YYYY-MM-DD HH24:MI:SS')";

}
else
{
return "TO_DATE('"+dateValue+"','YYYY-MM-DD')";
}
}

/// summary
/// 格式化日期的年份字段
/// /summary
/// param name="dateField"日期字段/param
/// returns/returns
public override string DatePartYear(string dateField)
{
return " TO_CHAR("+dateField+", 'YYYY')";
}

/// summary
/// 格式化日期的月份字段
/// /summary
/// param name="dateField"日期字段/param
/// returns/returns
public override string DatePartMonth(string dateField)
{
return " TO_CHAR("+dateField+", 'MM')";
}

/// summary
/// 格式化日期的日字段
/// /summary
/// param name="dateField"日期字段/param
/// returns/returns
public override string DateParDay(string dateField)
{
return " TO_CHAR("+dateField+", 'DD')";
}

#endregion

#region Constraint

/// summary
/// 获得数据库中所有的主键
/// /summary
/// returns
/// 返回DataTable,列如下
/// PKTable 主键表
/// PKConstraint 主键
/// KeyCol1 主键字段
////returns
public override DataTable GetPKConstraint()
{
string selectCommandText = @"
select table_Name as PKTable,constraint_name as PKConstraint,'' as KeyCol1 from user_constraints where

Constraint_type='P'
";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得数据库中所有的外键
/// /summary
/// returns
/// 返回DataTable,列如下
/// PKTable 主键表
/// FKTable 外键表
/// FKConstraint 外键
/// KeyCol1 主键字段
/// RefCol1 外键字段
////returns
public override DataTable GetFKConstraint()
{
string selectCommandText = @"
select ''as PKTable,table_Name as FKTable,constraint_name as FKConstraint,'' as KeyCol1,'' as RefCol1 from

user_constraints where Constraint_type='R'
";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// Disable主键
/// /summary
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
public override void DisablePKConstraint(string pkTableName,string pkConstraint)
{
string commandText = string.Format("alter table {0} disable constraint {1}",
pkTableName,pkConstraint);


DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

/// summary
/// Disable外键
/// /summary
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
public override void DisableFKConstraint(string fkTableName,string fkConstraint)
{
string commandText = string.Format("alter table {0} disable constraint {1}",
fkTableName,fkConstraint);


DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

/// summary
/// Enable主键
/// /summary
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
/// param name="pkField"主键字段/param
public override void EnablePKConstraint(string pkTableName,string pkConstraint,string pkField)
{
string commandText = string.Format("alter table {0} enable constraint {1}",
pkTableName,pkConstraint);


DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

/// summary
/// Enable外键
/// /summary
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
/// param name="fkField"外键字段/param
/// param name="pkTableName"主键表/param
/// param name="pkField"主键字段/param
public override void EnableFKConstraint(string fkTableName,string fkConstraint,string fkField,string

pkTableName,string pkField)
{
string commandText = string.Format("alter table {0} enable constraint {1}",
fkTableName,fkConstraint);


DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

/// summary
/// 删除主键
/// /summary
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
public override void DropPKConstraint(string pkTableName,string pkConstraint)
{

}

/// summary
/// 删除外键
/// /summary
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
public override void DropFKConstraint(string fkTableName,string fkConstraint)
{

}

/// summary
/// 增加主键
/// /summary
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
/// param name="pkField"主键字段/param
public override void CreatePKConstraint(string pkTableName,string pkConstraint,string pkField)
{

}

/// summary
/// 增加外键
/// /summary
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
/// param name="fkField"外键字段/param
/// param name="pkTableName"主键表/param
/// param name="pkField"主键字段/param
public override void CreateFKConstraint(string fkTableName,string fkConstraint,string fkField,string

pkTableName,string pkField)
{

}
#endregion

#region Identity

/// summary
/// 获得下一个递增的ID。如果是ORACLE则返回下一个序列
/// /summary
/// param name="sName"递增的字段或序列/param
/// returns下一个递增的ID/returns
public override object NextIncreaseID(string seqName)
{
string selectCommandText = string.Format("SELECT {0}.NEXTVAL FROM DUAL", seqName);
DbHelper helper = new DbHelper();
return helper.ExecuteScalar(selectCommandText);
}

#endregion

#region Table
/// summary
/// 获得数据库中所有的表
/// /summary
/// returns以DataTable返回表的名称/returns
public override DataTable GetTableNames()
{
string selectCommandText = "SELECT TABLE_NAME FROM USER_TABLES";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得数据中表的注释
/// /summary
/// returns以DataTable返回表的注释/returns
public override DataTable GetTableComments()
{
string selectCommandText = @"
select table_name,comments
from user_tab_comments
";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得数据中表的注释
/// /summary
/// returns返回表的注释/returns
public override string GetTableComments(string tableName)
{
string selectCommandText = @"
select comments
from user_tab_comments
where table_name='{0}'
";
DbHelper helper = new DbHelper();
object o = helper.ExecuteScalar(string.Format(selectCommandText,tableName));
return o == DBNull.Value || o == null ? "" : o.ToString();
}

#endregion

#region Field
/// summary
/// 获得指定表中的所有字段名称
/// /summary
/// param name="TableName"指定的表名/param
/// returns以DataTable返回字段的名称/returns
public override DataTable GetFieldNames(string tableName)
{
string selectCommandText = string.Format("SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE

TABLE_NAME = '{0}'", tableName);
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得数据中字段的注释
/// /summary
/// returns以DataTable返回字段的注释/returns
public override DataTable GetFieldComments()
{
string selectCommandText = @"
select table_name,column_name,
nvl(comments ,column_name) as comments
from user_col_comments
";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得数据中字段的注释
/// /summary
/// returns以DataTable返回字段的注释/returns
public override DataTable GetFieldComments(string tableName)
{
string selectCommandText = @"
select table_name,column_name,
nvl(comments ,column_name) as comments
from user_col_comments
where
table_name = '{0}'
";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(string.Format(selectCommandText,tableName));
}

/// summary
/// 获得数据中字段的注释
/// /summary
/// returns返回字段的注释/returns
public override string GetFieldComments(string tableName,string fieldName)
{
string selectCommandText = @"
select table_name,column_name,
nvl(comments ,column_name) as comments
from user_col_comments
where
table_name = '{0}' and
column_name = '{1}'
";
DbHelper helper = new DbHelper();
object o = helper.ExecuteScalar(string.Format(selectCommandText,tableName,fieldName));
return o == DBNull.Value || o == null ? "" : o.ToString();

}
#endregion

#region View
/// summary
/// 判断是否存在对应的视图
/// /summary
/// param name="viewName"视图名/param
/// returns存在返回true,不存在返回fasle/returns
public override bool ExistView(string viewName)
{
string selectCommandText = string.Format("SELECT VIEW_NAME FROM USER_VIEWS WHERE VIEW_NAME = '{0}'",

viewName);
DbHelper helper = new DbHelper();
return helper.ExecuteScalar(selectCommandText) != null;
}

/// summary
/// 获得数据库中所有的用户视图
/// /summary
/// returns以DataTable返回视图的名称/returns
public override DataTable GetViewNames()
{
string selectCommandText = "SELECT VIEW_NAME as Name FROM USER_VIEWS ORDER BY VIEW_NAME";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得指定视图的内容
/// /summary
/// param name="viewName"视图名/param
/// returns/returns
public override string GetViewText(string viewName)
{
string selectCommandText = "SELECT Text FROM USER_VIEWS WHERE VIEW_NAME='"+viewName+"'";
DbHelper helper = new DbHelper();
return "create or replace view "+viewName+" as " + helper.ExecuteScalar(selectCommandText).ToString

();
}

/// summary
/// 删除数据库视图
/// /summary
/// param name="viewName"视图名/param
public override void DropView(string viewName)
{
}

/// summary
/// 创建数据库视图
/// /summary
/// param name="viewName"视图名/param
/// param name="viewText"视图内容/param
public override void CreateView(string viewName, string viewText)
{
if(viewText != null && viewText.Trim() != "")
{
DropView(viewName);
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(viewText);
}
}
#endregion

#region Procedure
/// summary
/// 获得数据库中所有的用户存储过程
/// /summary
/// returns以DataTable返回存储过程的名称/returns
public override DataTable GetProcedureNames()
{
string selectCommandText = "select object_name as Name from user_objects where

object_type='PROCEDURE' order by object_name";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得指定存储过程的内容
/// /summary
/// param name="procedureName"存储过程名/param
/// returns/returns
public override string GetProcedureText(string procedureName)
{
string selectCommandText = string.Format(@"
select text from USER_SOURCE where type='PROCEDURE' and name=upper('{0}')",
procedureName);
DbHelper helper = new DbHelper();
DataTable table = helper.ExecuteDataTable(selectCommandText);
string ret = "create or replace ";
for(int i = 0; i table.Rows.Count; i++)
{
ret += table.Rows[i][0].ToString()+ " ";
}

return ret;
}

/// summary
/// 删除数据库存储过程
/// /summary
/// param name="functionName"存储过程名/param
public override void DropProcedure(string procedureName)
{

}


/// summary
/// 创建数据库存储过程
/// /summary
/// param name="procedureName"存储过程名/param
/// param name="procedureText"存储过程内容/param
public override void CreateProcedure(string procedureName, string procedureText)
{

if(procedureText != null && procedureText.Trim() != "")
{
DropProcedure(procedureName);
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(procedureText);
}
}

#endregion

#region Function
/// summary
/// 获得数据库中所有的用户函数
/// /summary
/// returns以DataTable返回函数的名称/returns
public override DataTable GetFunctionNames()
{
string selectCommandText = "select object_name as Name from user_objects where object_type='FUNCTION'

order by object_name";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得指定函数的内容
/// /summary
/// param name="functionName"函数名/param
/// returns/returns
public override string GetFunctionText(string functionName)
{
string selectCommandText = string.Format(@"
select text from USER_SOURCE where type='FUNCTION' and name=upper('{0}')",
functionName);
DbHelper helper = new DbHelper();
DataTable table = helper.ExecuteDataTable(selectCommandText);
string ret = "create or replace ";
for(int i = 0; i table.Rows.Count; i++)
{
ret += table.Rows[i][0].ToString()+ " ";
}

return ret;
}

/// summary
/// 删除数据库函数
/// /summary
/// param name="functionName"函数名/param
public override void DropFunction(string functionName)
{
}

/// summary
/// 创建数据库函数
/// /summary
/// param name="functionName"函数名/param
/// param name="functionText"函数内容/param
public override void CreateFunction(string functionName, string functionText)
{

if(functionText != null && functionText.Trim() != "")
{
DropFunction(functionName);
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(functionText);
}
}

#endregion

#region Trigger
/// summary
/// 返回数据库中所有的触发器
/// trigger_body 内容
/// /summary
/// returns
/// 返回的DataTable列
/// TriggerName 触发器名称
/// TableName 触发器所在表名
/// /returns
public override DataTable GetTriggerName()
{
string selectCommandText = @"
select trigger_name as TriggerName,table_name as TableName from user_triggers
";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 删除触发器
/// /summary
/// param name="triggerName"触发器名称/param
public override void DropTrigger(string triggerName)
{
}

/// summary
/// 创建触发器
/// /summary
/// param name="triggerName"触发器名称/param
/// param name="triggerText"触发器内容/param
public override void CreateTrigger(string triggerName,string triggerText)
{

}

/// summary
/// Enable触发器
/// /summary
/// param name="triggerName"触发器名称/param
/// param name="tableName"触发器所在表名/param
public override void EnableTrigger(string triggerName,string tableName)
{
string commandText = string.Format("alter table {0} enable trigger {1}",tableName,triggerName);


DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

/// summary
/// Disable触发器
/// /summary
/// param name="triggerName"触发器名称/param
/// param name="tableName"触发器所在表名/param
public override void DisableTrigger(string triggerName,string tableName)
{
string commandText = string.Format("alter table {0} disable trigger {1}",tableName,triggerName);


DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

#endregion

}
}

程序代码:
using System;
using System.Data;
using System.Configuration;
using HZAllview.Console.Data.Common;
using HZAllview.Console.Utility;

namespace HZAllview.Console.Data.SqlServer
{
/// summary
/// SQL Server 数据库操作的一些常用函数。
/// written by tmc
/// /summary
public class DbUtil : AdoUtil
{

#region Construction
/// summary
/// 需要预设的构造函数,以便工厂能被创建
/// /summary
public DbUtil()
{
}
#endregion

#region Format Date
/// summary
/// 格式化日期字符串
/// /summary
/// param name="dateValue"日期字符串/param
/// returns/returns
public override string FormatDateString(string dateValue)
{
if(dateValue == null || dateValue == "")
return "''";
else
return "'"+dateValue+"'";
}

/// summary
/// 格式化日期的年份字段
/// /summary
/// param name="dateField"日期字段/param
/// returns/returns
public override string DatePartYear(string dateField)
{
return " DATEPART(YEAR,"+dateField+") ";
}

/// summary
/// 格式化日期的月份字段
/// /summary
/// param name="dateField"日期字段/param
/// returns/returns
public override string DatePartMonth(string dateField)
{
return " DATEPART(MONTH,"+dateField+") ";
}

/// summary
/// 格式化日期的日字段
/// /summary
/// param name="dateField"日期字段/param
/// returns/returns
public override string DateParDay(string dateField)
{
return " DATEPART(DAY,"+dateField+") ";
}

#endregion

#region Constraint
/// summary
/// 获得数据库中所有的主键
/// /summary
/// returns
/// 返回DataTable,列如下
/// PKTable 主键表
/// PKConstraint 主键
/// KeyCol1 主键字段
////returns
public override DataTable GetPKConstraint()
{
string selectCommandText = @"
select a.name as PKTable,b.name as PKConstraint,
index_col(a.name, c.indid, 1) as KeyCol1
from sysobjects a,sysobjects b,sysindexes c
where a.id=b.parent_obj and b.name=c.name and b.xtype='PK' order by a.name";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得数据库中所有的外键
/// /summary
/// returns
/// 返回DataTable,列如下
/// PKTable 主键表
/// FKTable 外键表
/// FKConstraint 外键
/// KeyCol1 主键字段
/// RefCol1 外键字段
////returns
public override DataTable GetFKConstraint()
{
string selectCommandText = @"
select PKT.name as PKTable,FKT.name as FKTable,
object_name(c.constid) as FKConstraint,
convert(nvarchar(132), col_name(c.rkeyid, c.rkey1)) as KeyCol1,
convert(nvarchar(132), col_name(c.fkeyid, c.fkey1)) as RefCol1
from sysobjects PKT,sysobjects FKT,sysreferences c
where
( c.rkeyid=object_id(PKT.name) or c.fkeyid = object_id(PKT.name))
and PKT.id = c.rkeyid and FKT.id = c.fkeyid";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// Disable主键
/// /summary
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
public override void DisablePKConstraint(string pkTableName,string pkConstraint)
{
DropPKConstraint(pkTableName,pkConstraint);
}

/// summary
/// Disable外键
/// /summary
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
public override void DisableFKConstraint(string fkTableName,string fkConstraint)
{
DropFKConstraint(fkTableName,fkConstraint);
}

/// summary
/// Enable主键
/// /summary
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
/// param name="pkField"主键字段/param
public override void EnablePKConstraint(string pkTableName,string pkConstraint,string pkField)
{
CreatePKConstraint(pkTableName,pkConstraint,pkField);
}

/// summary
/// Enable外键
/// /summary
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
/// param name="fkField"外键字段/param
/// param name="pkTableName"主键表/param
/// param name="pkField"主键字段/param
public override void EnableFKConstraint(string fkTableName,string fkConstraint,string fkField,string pkTableName,string pkField)
{
CreateFKConstraint(fkTableName,fkConstraint,fkField,pkTableName,pkField);
}


/// summary
/// 删除主键
/// /summary
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
public override void DropPKConstraint(string pkTableName,string pkConstraint)
{
string commandText = string.Format("ALTER TABLE [{0}] DROP CONSTRAINT {1}",
pkTableName,pkConstraint);
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

/// summary
/// 删除外键
/// /summary
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
public override void DropFKConstraint(string fkTableName,string fkConstraint)
{
string commandText = string.Format("ALTER TABLE [{0}] DROP CONSTRAINT {1}",
fkTableName,fkConstraint);
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

/// summary
/// 创建主键
/// /summary
/// param name="pkTableName"主键表/param
/// param name="pkConstraint"主键/param
/// param name="pkField"主键字段/param
public override void CreatePKConstraint(string pkTableName,string pkConstraint,string pkField)
{
string commandText = string.Format(@"
ALTER TABLE [{0}] ADD CONSTRAINT
{1} PRIMARY KEY CLUSTERED
(
{2}
) ON [PRIMARY]
",
pkTableName,
pkConstraint,
pkField);

DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

/// summary
/// 创建外键
/// /summary
/// param name="fkTableName"外键表/param
/// param name="fkConstraint"外键/param
/// param name="fkField"外键字段/param
/// param name="pkTableName"主键表/param
/// param name="pkField"主键字段/param
public override void CreateFKConstraint(string fkTableName,string fkConstraint,string fkField,string pkTableName,string pkField)
{
string commandText = string.Format(@"
ALTER TABLE [{0}] ADD CONSTRAINT
{1} FOREIGN KEY
(
{2}
) REFERENCES [3}
(
{4}
)
",
fkTableName,
fkConstraint,
fkField,
pkTableName,
pkField);

DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);

}
#endregion

#region Identity
/// summary
/// 允许将显式值插入表的标识列中
/// /summary
/// param name="tableName"表名/param
public override void SetIdentityInsertOn(string tableName)
{
AdoHelper helper = AdoHelper.Create();
string commandText = @"
if (IDENT_SEED('{0}') is not null)
set IDENTITY_INSERT [{0}] ON
";
helper.ExecuteNonQuery(string.Format(commandText,tableName));
}

/// summary
/// 不允许将显式值插入表的标识列中
/// /summary
/// param name="tableName"表名/param
public override void SetIdentityInsertOff(string tableName)
{
AdoHelper helper = AdoHelper.Create();
string commandText = @"
if (IDENT_SEED('{0}') is not null)
set IDENTITY_INSERT [{0}] off
";
helper.ExecuteNonQuery(string.Format(commandText,tableName));
}

/// summary
/// 允许将显式值插入表的标识列中
/// /summary
/// param name="tableName"表名/param
public override string GetIdentityInsertOn(string tableName)
{
string commandText = @"
if (IDENT_SEED('{0}') is not null)
set IDENTITY_INSERT [{0}] on
";
return string.Format(commandText,tableName);
}

/// summary
/// 不允许将显式值插入表的标识列中
/// /summary
/// param name="tableName"表名/param
public override string GetIdentityInsertOff(string tableName)
{
string commandText = @"
if (IDENT_SEED('{0}') is not null)
set IDENTITY_INSERT [{0}] off
";
return string.Format(commandText,tableName);
}

/// summary
/// SQL Server 主键自动增长
/// /summary
/// param name="sName"递增的字段或序列/param
/// returns下一个递增的ID/returns
public override object NextIncreaseID(string seqName)
{
return Guid.NewGuid().ToString();
}

#endregion

#region Table
/// summary
/// 获得数据库中所有的表
/// /summary
/// returns以DataTable返回表的名称/returns
public override DataTable GetTableNames()
{
string selectCommandText = "select o.name from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsUserTable') = 1 order by o.name";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得数据中表的注释
/// /summary
/// returns以DataTable返回表的注释/returns
public override DataTable GetTableComments()
{
string selectCommandText = @"
select
s.name as table_name ,
p.value as comments
from
sysproperties p,
sysobjects s ,
sysusers u
where
p.id = s.id and
s.uid = u.uid and
u.name = 'dbo' and
p.type='3'
";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得数据中表的注释
/// /summary
/// returns返回表的注释/returns
public override string GetTableComments(string tableName)
{
string selectCommandText = @"
select
p.value as comments
from
sysproperties p,
sysobjects s ,
sysusers u
where
p.id = s.id and
s.uid = u.uid and
u.name = 'dbo' and
p.type='3' and
s.name='{0}'
";
DbHelper helper = new DbHelper();
object o = helper.ExecuteScalar(string.Format(selectCommandText,tableName));
return o == DBNull.Value || o == null ? "" : o.ToString();
}

/// summary
/// 格式化表名
/// /summary
/// param name="tableName"表名/param
/// returns/returns
public override string FormatTableName(string tableName)
{
return "["+tableName+"]";
}

#endregion

#region Field
/// summary
/// 获得指定表中的所有字段名称
/// /summary
/// param name="TableName"指定的表名/param
/// returns以DataTable返回字段的名称/returns
public override DataTable GetFieldNames(string tableName)
{
string selectCommandText = string.Format("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{0}'", tableName);
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得数据中字段的注释
/// /summary
/// returns以DataTable返回字段的注释/returns
public override DataTable GetFieldComments()
{
string selectCommandText = @"
select
s.name as table_name ,
c.name as column_name,
case
when p.value is null then c.name
when RTrim(Ltrim(cast(p.value as varchar))) = '' then c.name
else p.value
end as comments
from
sysproperties p,
syscolumns c ,
sysobjects s ,
sysusers u
where
p.id = c.id and
c.id = s.id and
p.smallid = c.colid and
s.uid = u.uid and
u.name = 'dbo'
";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得数据中字段的注释
/// /summary
/// returns以DataTable返回字段的注释/returns
public override DataTable GetFieldComments(string tableName)
{
string selectCommandText = @"
select
s.name as table_name ,
c.name as column_name,
case
when p.value is null then c.name
when RTrim(Ltrim(cast(p.value as varchar))) = '' then c.name
else p.value
end as comments
from
sysproperties p,
syscolumns c ,
sysobjects s ,
sysusers u
where
p.id = c.id and
c.id = s.id and
p.smallid = c.colid and
s.uid = u.uid and
u.name = 'dbo' and
s.name = '{0}'
";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(string.Format(selectCommandText,tableName));
}

/// summary
/// 获得数据中字段的注释
/// /summary
/// returns返回字段的注释/returns
public override string GetFieldComments(string tableName,string fieldName)
{
string selectCommandText = @"
select
case
when p.value is null then c.name
when RTrim(Ltrim(cast(p.value as varchar))) = '' then c.name
else p.value
end as comments
from
sysproperties p,
syscolumns c ,
sysobjects s ,
sysusers u
where
p.id = c.id and
c.id = s.id and
p.smallid = c.colid and
s.uid = u.uid and
u.name = 'dbo' and
s.name = '{0}' and
c.name = '{1}'
";
DbHelper helper = new DbHelper();
object o = helper.ExecuteScalar(string.Format(selectCommandText,tableName,fieldName));
return o == DBNull.Value || o == null ? "" : o.ToString();

}
#endregion

#region View
/// summary
/// 判断是否存在对应的视图
/// /summary
/// param name="viewName"视图名/param
/// returns存在返回true,不存在返回fasle/returns
public override bool ExistView(string viewName)
{
string selectCommandText = string.Format("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = '{0}'", viewName);
DbHelper helper = new DbHelper();
return helper.ExecuteScalar(selectCommandText) != null;
}

/// summary
/// 获得数据库中所有的用户视图
/// /summary
/// returns以DataTable返回视图的名称/returns
public override DataTable GetViewNames()
{
string selectCommandText = "select o.name from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsView') = 1 order by o.name";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得指定视图的内容(如果已经加密,则返回空)
/// /summary
/// param name="viewName"视图名/param
/// returns/returns
public override string GetViewText(string viewName)
{
string selectCommandText = "select c.text from dbo.syscomments c, dbo.sysobjects o where encrypted = 0 and o.id = c.id and c.id = object_id(N'[dbo].["+viewName+"]')";
DbHelper helper = new DbHelper();
object o = helper.ExecuteScalar(selectCommandText);
return o == DBNull.Value || o == null ? "" : o.ToString();
}

/// summary
/// 删除数据库视图
/// /summary
/// param name="viewName"视图名/param
public override void DropView(string viewName)
{
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery("if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].["+viewName+"]') and OBJECTPROPERTY(id, N'IsView') = 1) drop view [dbo].["+viewName+"]");
}

/// summary
/// 创建数据库视图
/// /summary
/// param name="viewName"视图名/param
/// param name="viewText"视图内容/param
public override void CreateView(string viewName, string viewText)
{
if(viewText != null && viewText.Trim() != "")
{
DropView(viewName);
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(viewText);
}
}
#endregion

#region Procedure
/// summary
/// 获得数据库中所有的用户存储过程
/// /summary
/// returns以DataTable返回存储过程的名称/returns
public override DataTable GetProcedureNames()
{
string selectCommandText = "select o.name from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsProcedure') = 1 order by o.name";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得指定存储过程的内容
/// /summary
/// param name="procedureName"存储过程名/param
/// returns/returns
public override string GetProcedureText(string procedureName)
{
string selectCommandText = "select c.text from dbo.syscomments c, dbo.sysobjects o where encrypted = 0 and o.id = c.id and c.id = object_id(N'[dbo].["+procedureName+"]')";
DbHelper helper = new DbHelper();
object o = helper.ExecuteScalar(selectCommandText);
return o == DBNull.Value || o == null ? "" : o.ToString();
}

/// summary
/// 删除数据库存储过程
/// /summary
/// param name="functionName"存储过程名/param
public override void DropProcedure(string procedureName)
{
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery("if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].["+procedureName+"]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].["+procedureName+"]");
}


/// summary
/// 创建数据库存储过程
/// /summary
/// param name="procedureName"存储过程名/param
/// param name="procedureText"存储过程内容/param
public override void CreateProcedure(string procedureName, string procedureText)
{

if(procedureText != null && procedureText.Trim() != "")
{
DropProcedure(procedureName);
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(procedureText);
}
}

#endregion

#region Function
/// summary
/// 获得数据库中所有的用户函数
/// /summary
/// returns以DataTable返回函数的名称/returns
public override DataTable GetFunctionNames()
{
string selectCommandText = "select o.name from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsScalarFunction') = 1 order by o.name";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 获得指定函数的内容
/// /summary
/// param name="functionName"函数名/param
/// returns/returns
public override string GetFunctionText(string functionName)
{
string selectCommandText = "select c.text from dbo.syscomments c, dbo.sysobjects o where encrypted = 0 and o.id = c.id and c.id = object_id(N'[dbo].["+functionName+"]')";
DbHelper helper = new DbHelper();
object o = helper.ExecuteScalar(selectCommandText);
return o == DBNull.Value || o == null ? "" : o.ToString();
}

/// summary
/// 删除数据库函数
/// /summary
/// param name="functionName"函数名/param
public override void DropFunction(string functionName)
{
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery("if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].["+functionName+"]') and OBJECTPROPERTY(id, N'IsScalarFunction') = 1) drop function [dbo].["+functionName+"]");
}

/// summary
/// 创建数据库函数
/// /summary
/// param name="functionName"函数名/param
/// param name="functionText"函数内容/param
public override void CreateFunction(string functionName, string functionText)
{

if(functionText != null && functionText.Trim() != "")
{
DropFunction(functionName);
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(functionText);
}
}
#endregion

#region Trigger
/// summary
/// 返回数据库中所有的触发器
/// /summary
/// returns
/// 返回的DataTable列
/// TriggerName 触发器名称
/// TableName 触发器所在表名
/// /returns
public override DataTable GetTriggerName()
{
string selectCommandText = @"
select object_name(a.parent_obj) as TableName,a.name as TriggerName
from sysobjects a,sysobjects b
where a.parent_obj=b.id and
OBJECTPROPERTY(a.id, N'IsTrigger') = 1
order by object_name(a.parent_obj)
";
DbHelper helper = new DbHelper();
return helper.ExecuteDataTable(selectCommandText);
}

/// summary
/// 删除触发器
/// /summary
/// param name="triggerName"触发器名称/param
public override void DropTrigger(string triggerName)
{
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery("if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].["+triggerName+"]') and OBJECTPROPERTY(id, N'IsTrigger') = 1) drop trigger [dbo].["+triggerName+"]");
}

/// summary
/// 创建触发器
/// /summary
/// param name="triggerName"触发器名称/param
/// param name="triggerText"触发器内容/param
public override void CreateTrigger(string triggerName,string triggerText)
{
if(triggerText != null && triggerText.Trim() != "")
{
DbHelper helper = new DbHelper();
DropTrigger(triggerName);
helper.ExecuteNonQuery(triggerText);
}
}

/// summary
/// Enable触发器
/// /summary
/// param name="triggerName"触发器名称/param
/// param name="tableName"触发器所在表名/param
public override void EnableTrigger(string triggerName,string tableName)
{
string commandText = string.Format("alter table {0} enable trigger {1}",tableName,triggerName);
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

/// summary
/// Disable触发器
/// /summary
/// param name="triggerName"触发器名称/param
/// param name="tableName"触发器所在表名/param
public override void DisableTrigger(string triggerName,string tableName)
{
string commandText = string.Format("alter table {0} disable trigger {1}",tableName,triggerName);
DbHelper helper = new DbHelper();
helper.ExecuteNonQuery(commandText);
}

#endregion

}

}

分享到:
评论

相关推荐

    数据库学习资料--MySQL,oracle,sqlserver2000

    My SQL数据库(PDG),MSQL Commond手册 精通Oracle 9i(PDG),Oracle函数大全,Oracle 安装 SQLServer2000(PDG),SQL 函数

    Oracle经典教程(oracle 10g版本11g未找到)

    Oracle公司成立以来,从最初的数据库版本到Oracle7、Oracle8i、Oracle9i,Oracle10g到Oracle11g,虽然每一个版本之间的操作都存在一定的差别,但是Oracle对数据的操作基本上都遵循SQL标准。因此对Oracle开发来说版本...

    ORACLE9i_优化设计与系统调整

    §1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1 数据文件 26 §1.2.2 控制文件 26 §1.2.3 重做日志文件 26 §...

    PL_SQL 教程及帮助,ORACLE常用函数

    包含: a.Oracle9i+PL_SQL从入门到精通.pdf b.PL SQL培训教程.PDF c.oracle函数大全.doc

    使用Eclipse 3.3演示Oracle9i/10g的函数完成的分页动作

    环境:Window Xp professional, Oracle9i, Windows 2000 server, Eclipse 3.3, JDK 1.6 该例子针对上次SQL实现分页公式使用的详细说明--说明具体在函数中怎样使用分页公式和SQL怎样在游标中返回的说明,然后JDBC怎样...

    Oracle8i_9i数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

    Oracle点滴积累

    expimp导出导入工具的使用.doc,Oracle 单记录函数.doc,...SQLServer和Oracle常用函数对比.doc,关系型数据库及其设计方法.doc,视图、同义词和序列.doc,索引与约束.doc,详细讲述Oracle中的to_date参数含义.doc

    SQL-Server的程序设计.pdf

    为此,大型的关系型数据库系统都在 标准的 SQL 基础上,结合自身的特点推出了可以编程的、结构化的 SQL 编程语言,比如 SQL Server2000 的 Transact-SQL、Oracle9i 的 PL/SQL。 可能有同学会问了,SQL 不是很好用吗...

    oracle 9i课件

    内容: Oracle对象关系数据库;Oracle的函数;Oracle数据库的启动与权限管理;Oracle数据库管理系统;Oracle数据库例程和进程;Oracle数据库权限管理;Oracle物理结构和逻辑结构;PL_SQL;PL_SQL函数过程程序包触发子;PL_...

    Oracle9i帮助英文版

    Oracle9i帮助英文版,包括SQL语句用法和Oracle函数等等几乎所有知识

    详解Hibernate呼叫Oracle的存贮过程和函数

    环境:Windows Server 2000、Red Hat Enterprise 5、Fedora、Oracle 9i/Oracle 10g/Oracle 11g、Windows XP Professional、MyEclipse 5.5 本示例演示Hibernate 3.2呼叫Oracle的存贮过程和函数,以及通过Hibernate的...

    oracle 9i操作手册

    文档用于oracle运维,文档含oracle安装、操作、命令、sql、函数、用户等所有涉及的信息,帮助运维人员解决oracle运维过程遇到的问题瓶颈。

    Sql语言学习全套-给力推荐

    Oracle 9i proc.sql pub的作者名字.sql self-join.txt SQL Server精华 (CHM).chm SQL.ppt sql.sql SQL2000课程安排.txt SQL21自学通.pdf SQLServer200问.rar SQLServer应用程序中的高级SQL注入.tx SQL_...

    最全的oracle常用命令大全.txt

    启动oracle9i数据库命令: $ sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> connect / as ...

    Oracle 9i&10g编程艺术:深入数据库体系结构(全本)含脚本

    目录回到顶部↑第1章 开发成功的Oracle应用 1 1.1 我的方法 2 1.2 黑盒方法 4 1.3 开发数据库应用的正确(和不正确)方法 8 1.3.1 了解Oracle体系结构 8 1.3.2 理解并发控制 14 1.3.3 多版本 19 1.3.4 数据库...

    《Oracle 9i中文版基础教程 》随书光盘

    《Oracle 9i中文版基础教程 》配套光盘文件目录配套光盘目录 说明第4章 4.1 书4.1节的基本SQL命令范例 4.2 书4.2节的SQL单表查询命令范例 4.3 书4.3节的SQL多表查询命令范例 4.4 书4.4节的SQL嵌套查询命令范例 4.5 ...

    Oracle 9i中文版实用培训教程

    1.oracle 9i概述 2.安装和配置 3.体系结构和enterprise manager 4.其他管理工具 5.管理数据库 6.管理安全性 7.管理表和索引 8.管理视图 9.基本的PL/SQL语句 10.限制和排列数据 11.使用函数 12.连接查询 13.合计和...

    Oracle PL-SQL语言基础

    内有文件: Oracle PL-SQL入门之慨述.doc Oracle PL-SQL语言基础.doc ...Oracle9i PL-SQL编程的经验小结.doc ORACLE函数大全.doc Oracle中使用PL-SQL操作COM对象.doc Toad资料.doc PL-SQL单行函数和组函数详解.doc

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

Global site tag (gtag.js) - Google Analytics