create table test(phone int check(length(phone)=11));
成都創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、網(wǎng)站營(yíng)銷(xiāo)推廣,空間域名,虛擬空間,網(wǎng)站托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問(wèn)題,請(qǐng)聯(lián)系成都創(chuàng)新互聯(lián)。
如果表已創(chuàng)建:
首先要?jiǎng)h除不符合check約束條件的記錄,然后
alter table test
add constraint check_p check(length(phone)=11);
看 oracle監(jiān)聽(tīng)是否啟動(dòng) 在CMD下運(yùn)行如下命令就可以
lsnrctl status
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:無(wú)監(jiān)聽(tīng)器
TNS-12560: TNS: 協(xié)議適配器錯(cuò)誤
TNS-00511: 無(wú)監(jiān)聽(tīng)器
32-bit Windows Error: 61: Unknown error
LSNRCTL start listener1
啟動(dòng)tnslsnr:請(qǐng)稍候...
這表示沒(méi)有啟動(dòng)。。
方法2:
如果是LINUX系統(tǒng)可以通過(guò)如下命令看進(jìn)程在不在
ps -ef|grep lsn
看 oracle監(jiān)聽(tīng)是否啟動(dòng) 在CMD下運(yùn)行如下命令就可以
lsnrctl status
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:無(wú)監(jiān)聽(tīng)器
TNS-12560: TNS: 協(xié)議適配器錯(cuò)誤
TNS-00511: 無(wú)監(jiān)聽(tīng)器
32-bit Windows Error: 61: Unknown error
LSNRCTL start listener1
啟動(dòng)tnslsnr:請(qǐng)稍候...
這表示沒(méi)有啟動(dòng)。。
方法2:
如果是LINUX系統(tǒng)可以通過(guò)如下命令看進(jìn)程在不在
ps -ef|grep lsn
啟動(dòng)步驟:注意$代表shell命令提示符,這里的oracle是9.0以上版本。
1.$ su - oracle
2.$ sqlplus / nolog
3.sql conn / as sysdba
4.sql startup (一般不需要加參數(shù),只要設(shè)置好環(huán)境變量)
5.sql quit (退出sql模式)
6.$ lsnrctl start (啟動(dòng)監(jiān)聽(tīng)器)
關(guān)閉oracle
1.$ lsnrctl stop(關(guān)閉監(jiān)聽(tīng)器,在這之前,應(yīng)該先關(guān)閉應(yīng)用程序)
2.$ sqlplus /nolog
啟動(dòng)步驟:注意$代表shell命令提示符,這里的oracle是9.0以上版本。
1.$ su - oracle
2.$ sqlplus / nolog
3.sql conn / as sysdba
4.sql startup (一般不需要加參數(shù),只要設(shè)置好環(huán)境變量)
5.sql quit (退出sql模式)
6.$ lsnrctl start (啟動(dòng)監(jiān)聽(tīng)器)
關(guān)閉oracle
1.$ lsnrctl stop(關(guān)閉監(jiān)聽(tīng)器,在這之前,應(yīng)該先關(guān)閉應(yīng)用程序)
2.$ sqlplus /nolog
3.sqlshutdown 其參數(shù) :shutdown有四個(gè)參數(shù),四個(gè)參數(shù)的含義如下:
Normal 需要等待所有的用戶斷開(kāi)連接
Immediate 等待用戶完成當(dāng)前的語(yǔ)句
Transactional 等待用戶完成當(dāng)前的事務(wù)
Abort 不做任何等待,直接關(guān)閉數(shù)據(jù)庫(kù)
normal需要在所有連接用戶斷開(kāi)后才執(zhí)行關(guān)閉數(shù)據(jù)庫(kù)任務(wù),所以有的時(shí)候看起來(lái)好象命令沒(méi)有運(yùn)行一樣!在執(zhí)行這個(gè)命令后不允許新的連接
immediate在用戶執(zhí)行完正在執(zhí)行的語(yǔ)句后就斷開(kāi)用戶連接,并不允許新用戶連接。
transactional 在擁護(hù)執(zhí)行完當(dāng)前事物后斷開(kāi)連接,并不允許新的用戶連接數(shù)據(jù)庫(kù)。
abort 執(zhí)行強(qiáng)行斷開(kāi)連接并直接關(guān)閉數(shù)據(jù)庫(kù)。
前三種方式不回丟失用戶數(shù)據(jù)。第四種在不的已的情況下,不建議采用!
2經(jīng)常遇到的問(wèn)題:
1)權(quán)限問(wèn)題,解決方法,切換到oracle用戶;
2)沒(méi)有關(guān)閉監(jiān)聽(tīng)器 ,解決方法:關(guān)閉監(jiān)聽(tīng)器
3)有oracle實(shí)例沒(méi)有關(guān)閉,解決辦法:關(guān)閉oracle實(shí)例
4)環(huán)境變量設(shè)置不全,解決辦法:修改環(huán)境變量
1、首先,在Windows10系統(tǒng)的電腦上找到運(yùn)行的應(yīng)用,并點(diǎn)擊打開(kāi)它。
2、然后,再打開(kāi)的運(yùn)行的對(duì)話框中輸入cmd,并點(diǎn)擊確定按鈕。
3、接著,再打開(kāi)的黑色背景的窗口中輸入sqlplus /nolog,并按enter回車(chē)鍵。
4、最后,再按enter回車(chē)鍵后,如果沒(méi)有報(bào)錯(cuò),并且出現(xiàn)oracle版本號(hào),就說(shuō)明oracle在Linux下安裝成功了;反之,就沒(méi)有安裝成功。
提示主鍵沖突。檢查辦法 ,假設(shè)表table1 ,主鍵 a,b
插入集合為表table2
檢查辦法是看tabl2中a,b列是否有重復(fù)沖突情況。
select count(*),a,b from table2 group by a,b having count(*)1
如何有返回值說(shuō)明插入時(shí),a,b會(huì)主鍵沖突。沒(méi)有返回值可以正常插入。你檢查存儲(chǔ)過(guò)程中的查詢結(jié)果??词欠翊嬖跊_突情況
加入一個(gè)檢查約束
alter table T_TEST
add constraint CK_T_TEST check (c_sex ='男生');
加入設(shè)置默認(rèn)值
alter table T_TEST modify (c_sex VARCHAR2(10) default '男生');
有這些約束:
主鍵:
Alter table 表名
Add constraint PK_列名 primary key(列名)
唯一:
Alter table 表名
Add constraint UQ_列名 unique(列名)
默認(rèn):
Alter table 表名
Add constraint DF_列名 default (‘默認(rèn)值’) for 列名
檢查:
Alter table 表名
Add constraint CK_列名 check(條件)
外鍵:
Alter table 表名
Add constraint FK_列名 foreign key(列名) references 表名(列名)