Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何将Oracle表转换为SQL Server表_Sql Server_Oracle - Fatal编程技术网

Sql server 如何将Oracle表转换为SQL Server表

Sql server 如何将Oracle表转换为SQL Server表,sql-server,oracle,Sql Server,Oracle,我有在Oracle中创建特定表的查询,但我需要在SQL Server中创建完全相同的表,最后使用相同的列、设置和函数: 创建表“欺诈所有人”。“DR\u DISKSPACE\u ALL” ( “IP”VARCHAR2(50字节), “文件系统”VARCHAR2(50字节), “DISKSIZE”VARCHAR2(30字节), “已使用”VARCHAR2(20字节), “AVAIL”VARCHAR2(20字节), “USEDPERCENT”VARCHAR2(20字节), “已安装”VARCH

我有在Oracle中创建特定表的查询,但我需要在SQL Server中创建完全相同的表,最后使用相同的列、设置和函数:

创建表“欺诈所有人”。“DR\u DISKSPACE\u ALL”
(   
“IP”VARCHAR2(50字节),
“文件系统”VARCHAR2(50字节),
“DISKSIZE”VARCHAR2(30字节),
“已使用”VARCHAR2(20字节),
“AVAIL”VARCHAR2(20字节),
“USEDPERCENT”VARCHAR2(20字节),
“已安装”VARCHAR2(30字节),
“运行日期时间”日期
)立即创建段
PCTFREE 10 PCTUSED 0初始传输1最大传输255
非压缩测井
存储(初始65536下一个1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCT减少0自由列表1自由列表组1
缓冲区\池默认闪存\缓存默认单元格\闪存\缓存默认)
表空间“FV_DATA”支持行移动;
我如何实现这一点,或者如果有人可以将其转换为SQL Server


谢谢。

最后你不会带任何这些设置。不管怎样,它们大多只是Oracle的默认设置。因此,只需
varchar2
=>
varchar
,然后删除
BYTE
,这是在SQL Server中指定
varchar
长度的唯一方法

Oracle模式通常映射到SQL Server数据库,不过如果愿意,也可以映射到SQL Server模式

此外,Oracle始终区分大小写,因此您可能需要选择区分大小写的排序规则

USE FRAUD_OWNER
CREATE TABLE "DR_DISKSPACE_ALL" 
(    
    "IP" VARCHAR(50), 
    "FILESYSTEM" VARCHAR(50), 
    "DISKSIZE" VARCHAR(30), 
    "USED" VARCHAR(20), 
    "AVAIL" VARCHAR(20), 
    "USEDPERCENT" VARCHAR(20), 
    "MOUNTED" VARCHAR(30), 
    "RUN_DATE_TIME" DATE
)
如果有很多表要转换,或者需要转换Oracle SQL或Oracle PL/SQL代码,则可以使用


您可能应该添加一个群集主键。

您所说的“最后的设置和功能”是什么意思?如果您在末尾引用了所有存储子句(从
段创建立即开始的所有内容)
,那么尝试将其有意义地转换为SQL Server语法是没有意义的。大多数设置没有明显的对应项。请不要将堆栈溢出视为“免费编码服务”,它不是。SQL的每种方言都是不同的,如果需要使用几种方言,则需要了解每种方言的具体情况。相反,您应该研究上述设置和子句的作用,然后查找等效的T-SQL语法是什么;这是因为Oracle和SQL Server是非常不同的产品,具有不同的功能和底层设计。然而,如果你被一个特定的条款困住了,那就问问这个条款。