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加紧计划以来,甲骨文公司已经增加了七,000多家治理软件中型企业客户,当前中型企业客户总量已经超过25,000家。
透过推出马向中型企业客户的Oracle加快计划新功能,包括新式加快计划解决方案、Oracle企业加速器、财务选件和调度步骤等,甲骨文在不停兑现顺利。
面临中型 ......
完全卸载Oracle
软件环境:
1、Windows 2000+ORACLE 8.1.7
2、ORACLE安装路径为:C:\ORACLE
实现方法:
1、 开始->设置->控制面板->管理工具->服务
停止所有Oracle服务。
2、 开始->程序->Oracle - OraHome81->Oracle Installation Products->
Universal Installer
卸装所有Oracle产品, ......
今天做了1个数据导入需求,文本记录有12万多条,TXT文件大小6M多,因为以前都是用oracle的text import方式导入,刚试验了一下,不灵验,当导入到2万多条的时候,PLSQL就当掉了,走不动了。
因为考虑到1次导入,所有决定采用SQLLOADER的方式。 ......
http://www.inthirties.com/thread-757-1-1.html
很荣幸,被邀请为CSDN学习大本营里的Oracle老师。有个网友发消息过来,一起探讨如何学习Oracle,一下是回复,和大家一起探讨。
首先,要明确你的方向和目标。
对于Oracle来说,这个体系是比较庞大的,所以明确一个目标和你的方向是在学习前需要思考的问题。 管理, ......
1:重新在dbca中创建数据库并选择正确的字符集
2:
查询当前字符集:
select userenv('language') from dual;
select * from V$NLS_PARAMETERS;
在Windows下sqlplus完全正常,可是到Linux下,sqlplus中文显示就出问题了,总是显示“??”,这个问题又怎么解决呢?
经过在网络上查资料,以及尝试,得到 ......