废话少说,(已经有句废话了.)
看表
语句: SELECT * from C
//---------------------------------------
Cno Cname Teacher
---- ---------- --------
1 语文 祁静
2 数学 张文富
3 英语 栗爱凤
(3 行受影响)
//---------------------------------------
语句: SELECT * from S
//---------------------------------------
Sno Sname Ssex Sage Address
-------- -------- ---- ------ --------------------
09001 张三 男 15 渭滨
09002 李四 女 15 金台
09003 &n ......
选择自 softj 的 Blog
关键字
PL/SQL实现Oracle数据库任务调度
出处
PL/SQL实现Oracle数据库任务调度
关键词:数据恢复,任务调度,ORACLE,PL/SQL
在数据库操作中时常会有这样的情况发生,由于一时的疏忽而误删或误改了一些重要的数据,另外还有一些重要的任务需要周期性地运行。显然,前一类问题主要是数据备份与恢复方面的,而后一类则主要是系统的任务调度。本文将针对这两类问题,从应用程序开发角度给出一个解决方法。
一.技术基础
由于本文是使用PL/SQL作为开发平台来提供解决方案,所以首先了解相关的背景知识。
PL/SQL本身只是作为SQL语句的一个补充,通过引入过程化的概念来增强数据库处理能力。然而,相对于C,C++,JAVA等过程化语言来说,PL/SQL的处理功能依然不够强大。为此,Oracle数据库提供了大量的应用程序开发包,来增强应用程序开发能力。根据本文的主题,介绍如下两个开发包:DBMS_FLASHBACK和DBMS_JOB。
1. DBMS_FLASHBACK包主要是用来进行倒叙查询使用的,即通过设置查询时间来确定该时刻下的查询结果。一般情况下,我们平时使用的查询是查询当前时间(s ......
选择自 softj 的 Blog
关键字
PL/SQL实现Oracle数据库任务调度
出处
PL/SQL实现Oracle数据库任务调度
关键词:数据恢复,任务调度,ORACLE,PL/SQL
在数据库操作中时常会有这样的情况发生,由于一时的疏忽而误删或误改了一些重要的数据,另外还有一些重要的任务需要周期性地运行。显然,前一类问题主要是数据备份与恢复方面的,而后一类则主要是系统的任务调度。本文将针对这两类问题,从应用程序开发角度给出一个解决方法。
一.技术基础
由于本文是使用PL/SQL作为开发平台来提供解决方案,所以首先了解相关的背景知识。
PL/SQL本身只是作为SQL语句的一个补充,通过引入过程化的概念来增强数据库处理能力。然而,相对于C,C++,JAVA等过程化语言来说,PL/SQL的处理功能依然不够强大。为此,Oracle数据库提供了大量的应用程序开发包,来增强应用程序开发能力。根据本文的主题,介绍如下两个开发包:DBMS_FLASHBACK和DBMS_JOB。
1. DBMS_FLASHBACK包主要是用来进行倒叙查询使用的,即通过设置查询时间来确定该时刻下的查询结果。一般情况下,我们平时使用的查询是查询当前时间(s ......
1) 时间转换函数中如果有时间变量yyyy-mm-dd两边需两''
to_date(''' || to_char(a_valid_date_end, 'yyyy-mm-dd') ||''', ''yyyy-mm-dd'')
2) select distinct(e.itemnum) bulk collect into v_itemnum
将字符串数组以分隔符分隔的字符串调用
pkg_maximo_common.get_string(v_itemnum, ',', '')
3) union只是将两个结果联结起来一起显示,并不是联结两个表并成一个新表.
4) 判断tbl_cad表是否有数据用where exists (select null from tbl_cad where c_id = cei_id)
5)当判断某一表中是够存在符合某一集合的一个值时使用下列语句:
for v_row in c_cursor loop
select count(*) into v_count from tmp_wrong_work_order where twwo_tmp_work_order = v_row.two_id;
6)函数substr(str,1,M)返回字符串str中从一开始的M长的字符串。
7)定义游标在过程名后面,并且可以附语句给cursor。
8)当需要连接两个表相同记录到一个表中时,用符号 连接(+)。
9)当需要只取一个选择集的一条记录,或者小于等于某条记录时,在选择语句后添加rownum.
10)把选择出来的几条记录存入一个数组时用bulk collect into.
11)考虑时间变量为空,并且与其他时间变量比较大小时不能用nvl( ......
using System;
using System.Text.RegularExpressions;
using System.Web;
namespace FSqlKeyWord
{
/**//**//**//// <summary>
/// SqlKey 的摘要说明。
/// </summary>
public class SqlKey
{
private HttpRequest request;
//private const string StrKeyWord = @"select|insert|delete|from|count(|drop table|update|truncate|asc(|mid(|char(|xp_cmdshell|exec master|netlocalgroup administrators|:|net user|""|or|and";
//string StrKeyWord1 = @"(like|and|exec|insert|select|delete|update|chr|mid|master|or|truncate|char|declare|join)".Replace("|",")|(");
private const string StrKeyWord = @"( like | and | exec |insert|select|delete|update|chr|mid|master| or |truncate|char|declare|join|exec master|xp_cmdshell|net user|systypes|sysobjects)";
//private const string StrRegex = @"([-|;|,|/|(|)|[|]|}|{|%|@|*|!|'])";
private const string StrRegex = @"--|'|@|!";
public SqlKey(System.Web.HttpRequest _requ ......
bit 整型 bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off int 整型 int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节 smallint 整型 smallint 数据类型可以存储从- 215(-32768)到215(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间 tinyint 整型 tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节 numeric 精确数值型 numeric数据类型与decimal 型相同 decimal 精确数值型 decimal 数据类型能用来存储从-1038-1到1038-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数 ......
SQL中的REPLACE替换字符函数的用法(使之支持text/ntext)
语法
REPLACE ( original-string, search-string, replace-string )
参数
如果有某个参数为 NULL,此函数返回 NULL。
original-string 被搜索的字符串。可为任意长度。
search-string 要搜索并被 replace-string 替换的字符串。该字符串的长度不应超过 255 个字节。如果 search-string 是空字符串,则按原样返回原始字符串。
replace-string 该字符串用于替换 search-string。可为任意长度。如果 replacement-string 是空字符串,则删除出现的所有 search-string。
例子:
UPDATE tableName SET recordName=REPLACE(recordName,'abc','ddd')
将表tableName中的recordName字段中的 abc 替换为 ddd
这个函数有一点不足是不支持 text,ntext类型字段的替换,可以通过下面的语句来实现:
update tableName set recordName=replace(cast(recordName as varchar(8000)) ,'abc','ddd')
通过 cast 函数把text字段的内容转换为varchar类型再进行替换
......