SQL SERVER数据库快速转ORACLE实战
操作步骤如下,供参考。
数据库转型工作涉及的工作事项分析:表,表数据,索引,外键约束,字段默认值。
存储过程、函数、触发器、视图等由于语法存在差异,只能自行改写处理。
(一)在MS SQL SERVER服务器端的准备工作。
1).创建关于表、视图、主键、索引、字段字典、默认值约束的对象视图。以方便下一步使用。
USE EJ_ZSZQ ---USE [数据库名]
GO
--.1不含有TEXT类型、BIGINT类型字段的表视图
CREATE VIEW V_MYTABLE AS
Select UPPER(NAME) AS NAME from sysobjects A
where xtype = 'U' AND NAME<>'dtproperties'
AND NOT EXISTS(SELECT TOP 1 B.NAME from SYSCOLUMNS B,SYSTYPES C WHERE B.XTYPE=C.XTYPE AND B.ID=A.ID
AND (C.NAME = 'text' OR C.NAME='bigint'))
GO
--2.含有TEXT类型、BIGINT类型字段的表视图
CREATE VIEW V_MYTABLE2 AS
Select UPPER(NAME) AS NAME from sysobjects A
where xtype = 'U' AND NAME<>'dtproperties'
AND EXISTS(SELECT TOP 1 B.NAME from SYSCOLUMNS B,SYSTYPES C WHERE B.XTYPE=C.XTYPE AND B.ID=A.ID
AND (C.NAME = 'text' OR C.NAME='bigint'))
GO
--3.所有主键视图,构建主键时使用
CREATE VIEW V_MYPK AS
SELECT A.parent_obj AS TABLEID,
UPPER(E.NAME) AS TABLENAME,
UPPER(A.NAME) AS INDEXNAME,
UPPER(D.NAME) AS COLNAME,
C.KEYNO AS COLNO,
(SELECT TOP 1 KEYNO
from sysindexkeys
WHERE ID = B.ID
AND INDID = B.INDID
ORDER BY KEYNO DESC) AS KEYCNT
from sysobjects A,
sysindexes B,
sysindexkeys C,
syscolumns D,
 
相关文档:
利用SQL2000的定时备份功能,能很好对服务器上的重要数据信息进行完整的定时备份,以便在服务器瘫痪或数据库出现损坏时及时的进行恢复工作,以确保平时的工作能正常的进行。下面向大家介绍一下SQL2000定期备份的设置方法,具体如下:
1. 打开SQL2000的企业管理器
2.&nbs ......
首先查看数据库现有模式可使用以下语句
select name,log_mode from v$database;
也可以用下面的语句
archive log list;(该方法需要as sysdba)
对于非归档模式的数据库该为归档模式(主要以Oracle 10g为参考)使用以下步骤:
1. SQL> alter system set log_archive_dest_1='location=/oracle/oracle10g/log/archive ......
我们可以通过下面的语句来查询数据库的默认临时表空间:
SQL> select * from database_properties where property_name = 'DEFAULT_TEMP_TABLESPACE';
默认临时表空间的限制:
1. 默认临时表空间必须是TEMPORARY的:
SQL> alter database default temporary t ......
以下是一个查询IP地址归属地的CLR存储过程,三步:
1、用C#来做DLL,代码如下:
//====================================================================
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlTypes;
using System.Data.SqlClient;
using Microsoft.Sq ......
--查询每个人订饭的次数
select username as 姓名, count(*) as 次数 from orderitems group by UserName having count(*)=1
order by 姓名 desc
select distinct username as 未注册姓名 from orderitems
where username not in (select [Name] from Person)
select distinct username as 已注册姓名 fr ......