新人一枚,最近在自己研究一個小練習專案,專案用到的資料庫是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?最好能把下面約束那塊的代碼給逐詞分析一下,萬分感謝~~~~~~~~~~~~~
uj5u.com熱心網友回復:
自己頂一個。。。。。。。。uj5u.com熱心網友回復:
-- 閑來無事,寫一個給你看看
-- 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>
uj5u.com熱心網友回復:
遲到的感謝
uj5u.com熱心網友回復:
兩年多了,你這個專案早就上線了吧?
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/68238.html
標籤:開發
上一篇:增加列后,默認精度改變
下一篇:pl/sql 中文顯示亂碼
