bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

oracle如何取消唯一 oracle刪除唯一約束

怎么取消字段唯一性約束

1)禁止所有表約束的SQL

成都創(chuàng)新互聯(lián)長期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為皮山企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站制作,皮山網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

select 'alter table '+name+' nocheck constraint all' from sysobjects where type='U'

2)刪除所有表數(shù)據(jù)的SQL

select 'TRUNCATE TABLE '+name from sysobjects where type='U'

3)恢復(fù)所有表約束的SQL

select 'alter table '+name+' check constraint all' from sysobjects where type='U'

4)刪除某字段的約束

declare @name varchar(100)

--DF為約束名稱前綴

select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('表名') and b.id=a.cdefault and a.name='字段名' and b.name like 'DF%'

--刪除約束

alter table 表名 drop constraint @name

--為字段添加新默認(rèn)值和約束

ALTER TABLE 表名 ADD CONSTRAINT @name DEFAULT (0) FOR [字段名]

--刪除約束

ALTER TABLE tablename

Drop CONSTRAINT 約束名

--修改表中已經(jīng)存在的列的屬性(不包括約束,但可以為主鍵或遞增或唯一)

ALTER TABLE tablename

alter column 列名 int not null

--添加列的約束

ALTER TABLE tablename

ADD CONSTRAINT DF_tablename_列名 DEFAULT(0) FOR 列名

--添加范圍約束

alter table tablename add check(性別 in ('M','F'))

oracle往dept表中插入dept表中插入重復(fù)數(shù)據(jù),如何刪除唯一約束,以及其它表對dept主鍵的外鍵引用

首先刪除emp表中關(guān)聯(lián)dept的外鍵約束:

alter table EMP drop constraint FK_DEPTNO;

再刪除dept的主鍵約束:

alter table DEPT drop constraint PK_DEPT;

這樣就能插入重復(fù)數(shù)據(jù)了。

oracle中怎么刪除唯一約束unique?

首先你得確定數(shù)據(jù)庫約束表里是否有AN_SHORT_NAME_INDEX這個(gè)約束

(如果你有管理員權(quán)限的話)select * from dba_constraints where constraint_name='AN_SHORT_NAME_INDEX';

如果有的話,會(huì)顯示這個(gè)約束的所有信息。

剩下的自己看著弄吧。

希望能解決你的問題。

powerdesigner導(dǎo)出oracle語句是如何去掉唯一約束的引號

使用PowerDesigner生成數(shù)據(jù)庫 建表SQL 腳 本時(shí),尤其是Oracle數(shù)據(jù)庫時(shí),表名一般會(huì)帶引號。其實(shí)加引號是PL/SQL的規(guī)范,數(shù)據(jù)庫會(huì)嚴(yán)格按照“”中的名稱建表,如果沒有“”,會(huì)按照 ORACLE默認(rèn)的設(shè)置建表(DBA STUDIO里面),默認(rèn)是全部大寫,這樣,在ORACLE數(shù)據(jù)庫里的字段就如“Column_1”。如果你把引號去掉,ORACLE自動(dòng)默認(rèn)為全部大 寫,即“COLUMN_1”,所以這段SQL在PL/SQL中執(zhí)行的時(shí)候是沒有任何問題的,如果不加引號,在PL/SQL會(huì)自動(dòng)識別為大寫。如果加了引 號,sql或者h(yuǎn)ql查詢“Column_1='XXX'”時(shí),就會(huì)報(bào)錯(cuò):ORA-00904: "COLUMN_1": 無效的標(biāo)識符,除非寫為“‘Column_1’='XXX'”。

這個(gè)問題是生成腳本格式的問題,因此,我們可以 嘗試在DBMS配置文件中修改相應(yīng)的格式設(shè)置來解決這個(gè)問題。選擇DBMS Properties,選擇Script-Sql-Format,有一項(xiàng)CaseSensitivityUsingQuote, 它的comment為“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否適用雙引號來規(guī)定標(biāo)識符的大小寫,可以看到右邊的values默認(rèn)值為“YES”,改為“No”,點(diǎn)擊【應(yīng)用】按鈕。

1、去掉Oracle生成的SQL創(chuàng)建語句中的雙引號

用powerdesigner導(dǎo)出orale數(shù)據(jù)庫的建表sql時(shí),默認(rèn)會(huì)給表名和字段名加上雙引號,如下圖:

這樣給操作數(shù)據(jù)庫帶來很大的不便,解決的辦法是設(shè)置Database菜單,

然后點(diǎn)擊Edit Current DBMS菜單,再依次點(diǎn)開Script-Format,然后找到CaseSensitivityUsingQuote

將其設(shè)為NO,即可。如下圖:

如果帶有包的話,導(dǎo)出時(shí)要選擇包中的表。

2、PowerDesign高級應(yīng)用

編寫相關(guān)的VBS腳本在PowerDesign里自定義一些命令與操作等,具體的可以參考C:\Program Files\Sybase\PowerDesigner 9\VB Scripts目錄下的腳本示例。怎么運(yùn)用這些腳本呢?

在Tools-Execute Commands里可以進(jìn)行操作。具體說明在幫助里寫的很清楚。幫助的位置在 PowerDesigner General Features Guide- PART 2. Modeling Guide-CHAPTER 8. Managing Objects-Accessing objects using VBScript-VBScript uses in PowerDesigner

PowerDesign的使用主要是DBMS的配置

3、修改建表腳本生成規(guī)則。

如果每個(gè)表格都有相同的字段,可以如下修改:

Database - Edit Current DBMS 展開 Script - Object - Table - Create 見右下的Value值,可以直接修改如下:

/* tablename: %TNAME% */

create table [%QUALIFIER%]%TABLE% (

%TABLDEFN%

ts char(19) null default convert(char(19),getdate(),20),

dr smallint null default 0

)

[%OPTIONS%]

其中的 ts、dr 兩列會(huì)在生成SQL腳本的時(shí)候自動(dòng)的插入每個(gè)表格中,其中的%TNAME% 變量是給每個(gè)表格的SQL添加一個(gè)該表的Name值注釋。

4、修改字段生成規(guī)則。

要給每個(gè)字段都添加一個(gè)注釋的話,同一窗口中展開 Script - Object - Column - Add 的 Value修改為:

%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]

[[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/

其中的%COLNNAME%就是列的Name值(可以是中文)

5、修改外鍵命名規(guī)則。

選擇Database—Edit Current DBMS

選擇Scripts-》Objects-》Reference-》ConstName

可以發(fā)現(xiàn)右側(cè)的Value為:

FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%

可見,該命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根據(jù)這中模式自定義為:

FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,

可以使FK名稱變?yōu)镕K_TABLE_2_RELATIONS_TABLE_1

掌握這種方法后就可以按照自己的想法修改了

生成建庫腳本SQL文件中的表頭注釋很討厭,可以在 Databse - Generate Database (Ctrl+G)窗口中,選擇Options卡片,去掉Usage的Title鉤選項(xiàng)即可。

6、添加外鍵

Model - References新建一條外鍵后,雙擊進(jìn)入外鍵屬性,在“Joins”卡片中可以選擇子表的外鍵字段。如下圖:

接著出現(xiàn)如下畫面:

按照步驟操作即可。

7、取消name和code聯(lián)動(dòng)

在修改name的時(shí)候,code的值將跟著變動(dòng),很不方便。修改方法:PowerDesign中的選項(xiàng)菜單里修改,在[Tool]--[General Options]-[Dialog]-[Operating modes]-[Name to Code mirroring],這里默認(rèn)是讓名稱和代碼同步,將前面的復(fù)選框去掉就行了。如圖:

編寫相關(guān)的VBS腳本在PowerDesign里自定義一些命令與操作等,具體的可以參考C:\Program Files\Sybase\PowerDesigner 9\VB Scripts目錄下的腳本示例。怎么運(yùn)用這些腳本呢?

在Tools-》Execute Commands里可以進(jìn)行操作。具體說明在幫助里寫的很清楚。幫助的位置在 PowerDesigner General Features Guide- PART 2. Modeling Guide-CHAPTER 8. Managing Objects-Accessing objects using VBScript-VBScript uses in PowerDesigner

PowerDesign的使用主要是DBMS的配置

1、修改建表腳本生成規(guī)則。如果每個(gè)表格都有相同的字段,可以如下修改:

Database - Edit Current DBMS 展開 Script - Object - Table - Create 見右下的Value值,可以直接修改如下:

/* tablename: %TNAME% */

create table [%QUALIFIER%]%TABLE% (

%TABLDEFN%

ts char(19) null default convert(char(19),getdate(),20),

dr smallint null default 0

)

[%OPTIONS%]

其中的 ts、dr 兩列會(huì)在生成SQL腳本的時(shí)候自動(dòng)的插入每個(gè)表格中,其中的%TNAME% 變量是給每個(gè)表格的SQL添加一個(gè)該表的Name值注釋。

2、修改字段生成規(guī)則。要給每個(gè)字段都添加一個(gè)注釋的話,同一窗口中展開 Script - Object - Column - Add 的 Value修改為:

%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]

[[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/

其中的%COLNNAME%就是列的Name值(可以是中文)

3、修改外鍵命名規(guī)則。選擇Database—Edit Current DBMS

選擇Scripts-》Objects-》Reference-》ConstName

可以發(fā)現(xiàn)右側(cè)的Value為:

FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%

可見,該命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根據(jù)這中模式自定義為:

FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,

可以使FK名稱變?yōu)镕K_TABLE_2_RELATIONS_TABLE_1

掌握這種方法后就可以按照自己的想法修改了

生成建庫腳本SQL文件中的表頭注釋很討厭,可以在 Databse - Generate Database (Ctrl+G)窗口中,選擇Options卡片,去掉Usage的Title鉤選項(xiàng)即可。

4、添加外鍵

Model - References新建一條外鍵后,雙擊進(jìn)入外鍵屬性,在“Joins”卡片中可以選擇子表的外鍵字段

5、去掉生成的SQL腳本雙引號的問題:ORACLE 8I2::Script\Sql\Format\CaseSensitivityUsingQuote改成No,默認(rèn)是Yes所以會(huì)有雙引號。

在修改name的時(shí)候,code的值將跟著變動(dòng),很不方便。修改方法:PowerDesign中的選項(xiàng)菜單里修改,在[Tool]--[General Options]-[Dialog]-[Operating modes]-[Name to Code mirroring],這里默認(rèn)是讓名稱和代碼同步,將前面的復(fù)選框去掉就行了。

oracle刪除唯一約束sql語句

假如有主表 test_main 與 子表 test_sub

SQL -- 創(chuàng)建外鍵(默認(rèn)選項(xiàng))

SQL ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;

Table altered.

刪除外鍵約束

ALTER TABLE test_sub DROP CONSTRAINT main_id_cons;

Oracle之約束

約束用于限制加入表數(shù)據(jù)的類型,目的是保證數(shù)據(jù)的一致性和完整性

創(chuàng)建格式:在創(chuàng)建表時(shí)規(guī)定約束(在Create添加),也可以在創(chuàng)建之后添加(Alter table)。

約束類型:NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK、DEFAULT。

非空約束就是限制必須為某個(gè)列提供值,不允許有空值的存在。

空值(NULL)是不存在的值,它既不是數(shù)字0也不是空字符串,而是不存在未知的情況,即:該列的所有值不能為空,但可以為空字符或者0。

結(jié)果:通過desc查看會(huì)發(fā)現(xiàn)Nullable那一列的Y消失,表示此列不能為空。且在插入數(shù)值的時(shí)候此列必須添加數(shù)值,否則會(huì)報(bào)錯(cuò)。

取消非空約束使用alter方法:alter table test1 modify Author null; 設(shè)置test1的Author可以

唯一性約束強(qiáng)調(diào)所在的列不允許有相同的值,但可以有多個(gè)Null。

其定義比主鍵約束弱,即他的列允許有空值(主鍵不允許有空值),唯一性約束的主要作用是保證在除主鍵外,其他列值得唯一性。

即:直接在列后面添加unique,

或在列后面添加 constraint 約束名 unique,

或在最后添加constraint 約束 unique(列名),

或者alter table 表名 add constraint 約束名 unique(列名);

建議使用的方法為alter和在最后添加最后添加constraint 約束 unique(列名)。

注:添加約束名的好處為:便于刪除操作,在刪除時(shí)需要通過約束名來完成操作。同時(shí)如果不添加約束名則系統(tǒng)會(huì)自動(dòng)生成約束名,在表移動(dòng)等操作時(shí),約束名也會(huì)更改,會(huì)造成后期操作的麻煩。

取消唯一性約束:alter table test3 drop constraint QQ_UK2;

主鍵約束唯一地標(biāo)識了每一行記錄(非空+唯一),在一個(gè)表中,最多只能有一個(gè)主鍵約束,主鍵約束既可以由一個(gè)列組成,也可以由兩個(gè)或兩個(gè)以上列組成(這種稱聯(lián)合主鍵)。

具體的方法和添加唯一約束相同,建議使用的方法為alter和在最后添加最后添加constraint 約束 unique(列名)。

刪除主鍵:alter table 表名 drop constraint 約束名

外鍵約束主要是在B表中的某一列受到A表的制約,B的那一列的值只能是A內(nèi)的值,比如工資表的員工號必須受員工表的員工號限制一樣,工資表不能有不存在的員工號。

一般外鍵約束會(huì)使用兩個(gè)表進(jìn)行關(guān)聯(lián),外鍵是指"當(dāng)前表"引用"另一個(gè)表"的某一列或某幾列。在另一個(gè)表中,被引用的列必須具有主鍵約束或者唯一性約束,不存在的數(shù)據(jù)不能出現(xiàn)在當(dāng)前表的對應(yīng)列中。一般情況下當(dāng)刪除被引用表中數(shù)據(jù)時(shí),該數(shù)據(jù)也不能出現(xiàn)在外鍵列中,如果存在則刪除失敗。

刪除外鍵約束:alter table test5_1 drop constraint FK_test_5_1;

check約束是為了讓表中某字段值只能輸入固定的值。

check設(shè)置數(shù)值范圍:constraint check 表名 check (列名 between 小范圍 and 大范圍);

設(shè)置為大寫:constraint check 表名 check (列名 = upper(列名));

取消 alter table test6_2 drop constraint check_test_6_2;

默認(rèn)約束是設(shè)置列的默認(rèn)值,即當(dāng)插入一行時(shí),若不給出該列的值,就用默認(rèn)值代替。

結(jié)果:在添加數(shù)據(jù)的時(shí)候,如果在設(shè)置有默認(rèn)值的列沒有添加數(shù)據(jù)則會(huì)把默認(rèn)值添加進(jìn)去。

取消默認(rèn)約束 alter table test2 modify BOOKNAME default null;

注:

add用于修改字段類型和長度的(即修改字段的屬性)

modify修改表的數(shù)據(jù)結(jié)構(gòu)。

update是修改數(shù)據(jù)內(nèi)容的。

drop是刪除數(shù)據(jù)內(nèi)容。

當(dāng)前標(biāo)題:oracle如何取消唯一 oracle刪除唯一約束
本文地址:http://vcdvsql.cn/article26/hhhjjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)微信小程序全網(wǎng)營銷推廣網(wǎng)站制作品牌網(wǎng)站設(shè)計(jì)網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)