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

Oracle和MSSQL中循环的使用


 ORACLE
CREATE OR REPLACE FUNCTION SETSTATE(OLDVALUE VARCHAR2, POS NUMBER, SVALUE VARCHAR2)
RETURN VARCHAR2
IS
RETURN_VALUE VARCHAR2 (20);
LEN NUMBER(8);
I NUMBER(8);
TEMP_VALUE VARCHAR2(1);
BEGIN
     LEN := LENGTH(OLDVALUE);
     IF POS > LEN THEN
        RETURN '指定的索引大于字符串的长度!';
     END IF;
     I := 0;
     RETURN_VALUE := '';
     FOR I IN 1..LEN LOOP
         TEMP_VALUE := SUBSTR(OLDVALUE, I, 1);
         IF I = POS THEN
            TEMP_VALUE := SVALUE;
         END IF;
         RETURN_VALUE := RETURN_VALUE || TEMP_VALUE;
     END LOOP;
     RETURN RETURN_VALUE;
END;
MSSQL
IF EXISTS(SELECT * from SYSOBJECTS WHERE NAME = 'SETSTATE')
 DROP FUNCTION SETSTATE
GO
CREATE FUNCTION SETSTATE(@OLDVALUE NVARCHAR(20), @POS INT, @SVALUE NVARCHAR(1))
RETURNS NVARCHAR(20)
AS
BEGIN
 DECLARE @RETURN_VALUE NVARCHAR(20),
 @LENGTH INT,
 @I INT,
 @TEMP_VALUE NVARCHAR(1);
 SET @LENGTH = LEN(@OLDVALUE);
 SET @I = 1;
 SET @RETURN_VALUE = '';
 IF(@POS > @LENGTH)
  SET @RETURN_VALUE = @OLDVALUE;
 ELSE
  BEGIN
   WHILE(@I <= @LENGTH)
   BEGIN
    SET @TEMP_VALUE = SUBSTRING(@OLDVALUE, @I, 1);
    IF (@I = @POS)
     SET @TEMP_VALUE = @SVALUE;
    SET @RETURN_VALUE = @RETURN_VALUE + @TEMP_VALUE;
    SET @I = @I + 1;
   END
  END
 RETURN @RETURN_VALUE;
END
GO


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

甲骨文推出“Oracle加快计划”

 二零零九年十月二十日,打从三年前推出Oracle加紧计划以来,甲骨文公司已经增加了七,000多家治理软件中型企业客户,当前中型企业客户总量已经超过25,000家。
透过推出马向中型企业客户的Oracle加快计划新功能,包括新式加快计划解决方案、Oracle企业加速器、财务选件和调度步骤等,甲骨文在不停兑现顺利。
面临中型 ......

学习《Oracle 9i10g编程艺术》的笔记 (四)

 1.数据库独立性
将应用从数据库A 移植到数据库B 时,我时常遇到这种问题:应用在数据库A 上原本无懈可击,到了
数据库B 上却不能工作,或者表现得很离奇。看到这种情况,我们的第一个想法往往是,数据库B 是一个
“不好的”数据库。而真正的原因其实是数据库B 的工作方式完全不同。没有哪个数据库是错的 ......

学习《Oracle 9i10g编程艺术》的笔记 (八) 内存结构

 Oracle  3 个主要的内存结构:
系统全局区(System Global Area,SGA):这是一个很大的共享内存段,几乎所有Oracle
进程都要访问这个区中的某一点。
进程全局区(Process Global Area,PGA):这是一个进程或线程专用的内存,其他进程/
线程不能访问。
用户全局区(User Global Area,UGA):这个内存区与 ......

Oracle sqlplus 配置

sqlplus的配置文件为login.sql,通常如下所示创建该文件:
set serveroutput on size 1000000
set trimspool on  --滤除spool输出的空白
set linesize 200  --用于设定每行显示的宽度
set pagesize 9999 --设置显示的页数
set sqlprompt '_user @ _connect_identifier> '
将该文件复制到Oracle安装目录C ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号