关于转换数据库的问题,从mssql到oracle
来源:百度知道 编辑:UC知道 时间:2024/06/02 16:33:19
它用的数据库是sqlserver,我只会oracle的。
源码里面带了一个.sql文件,我怎么能转换成oracle数据库。关于jdbc这部分我会,就是怎么把那些表在我的oracle里面建起来不会。
这个.sql文件的部分代码是
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_information_BookStep]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[information] DROP CONSTRAINT FK_information_BookStep
GO
CREATE TABLE [dbo].[BookStep] (
[BookStepId] [int] IDENTITY (1, 1) NOT NULL ,
[Display] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[City] (
[CityId] [int] IDENTITY (1, 1) NOT NULL ,
[Display] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
第一个表
BOOKSTEP中BOOKSTEPID 是自动增加的,你需要创建一个序列,并且创建一个TRIGGER,下面是SQL脚本,按照着执行一遍就可以了。
CREATE TABLE BOOKSTEP(
BOOKSTEPID NUMBER PRIMARY KEY,
DISPALY VARCHAR2(20) NOT NULL
);
CREATE SEQUENCE BOOKSTEP_SEQ;
create or replace trigger BOOKSTEP_TRIGGER
before insert on BOOKSTEP
for each row
begin
select bookstep_seq.nextval into :new.bookstepid from dual;
end;
/
INSERT INTO BOOKSTEP(DISPALY) VALUES('OMG');
INSERT INTO BOOKSTEP(DISPALY) VALUES('WHAT A DAY');
INSERT INTO BOOKSTEP VALUES(10,'CHECKOUT');
SELECT * FROM BOOKSTEP
第二个表
CREATE TABLE CITY(
CITYID NUMBER PRIMARY KEY NOT NULL,
DISPALY VARCHAR2(20) NOT NULL
);
CREATE SEQUENCE CITY_SEQ;
create or replace trigger CITY_TRIGGER
before insert on CITY
for each row
begin
select CITY_SEQ.NEXTVAL into :new.CITYID from dual;