sqlserver的sql语句到oracle的转换

qq_26998329 2016-02-17 10:48:01
新人一枚,最近在自己研究一个小练习项目,项目用到的数据库是sqlserver2002,其中有一张表,语句如下:

CREATE TABLE [dbo].[tb_jsr](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](15) NOT NULL,
[sex] [char](2) NULL,
[age] [int] NULL,
[tel] [varchar](20) NULL,
[enable] [bit] NOT NULL,
CONSTRAINT [PK_tb_jsr] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

我现在用oracle数据库作为项目的数据库,请问大神们,下面的约束在oracle建表时应该如何书写sql?最好能把下面约束那块的代码给逐词分析一下,万分感谢~~~~~~~~~~~~~
...全文
680 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2018-05-09
  • 打赏
  • 举报
回复
两年多了,你这个项目早就上线了吧?
qq_26998329 2018-05-09
  • 打赏
  • 举报
回复
迟到的感谢
卖水果的net 2016-02-18
  • 打赏
  • 举报
回复

-- 闲来无事,写一个给你看看
-- 1. oracle 没有自增列,要用 seq + tri 实现 
-- 2. bit 数据类型不存在,建议使用 int 型代替
-- 3. 没有 clustered 这样的索引(或结束)

SQL> 
SQL> CREATE TABLE tb_jsr(
  2  id int  NOT NULL,
  3  name varchar(15) NOT NULL,
  4  sex char(2) NULL,
  5  age int NULL,
  6  tel varchar(20) NULL,
  7  enable int NOT NULL
  8  );
Table created
SQL> create sequence seq_tb_jsr ;
Sequence created
SQL> create trigger ins_tb_jsr
  2  before insert on tb_jsr
  3  for each row
  4  begin
  5      :new.id := seq_tb_jsr.nextval ;
  6  end ;
  7  /
Trigger created
SQL> alter table tb_jsr add constraint PK_tb_jsr primary key  (id);
Table altered
SQL> drop table tb_jsr purge ;
Table dropped
SQL> drop sequence seq_tb_jsr;
Sequence dropped

SQL> 
qq_26998329 2016-02-17
  • 打赏
  • 举报
回复
自己顶一个。。。。。。。。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧