sql server查詢語(yǔ)句or的用法 在SQL中,創(chuàng)建檢查約束?
在SQL中,創(chuàng)建檢查約束?看電腦提示,數(shù)據(jù)庫(kù)像是SQLServer你也可以把管理和約束寫簡(jiǎn)單的有一點(diǎn)例如:addconstraintCK_PersonIDcheck((--長(zhǎng)度15,只包含數(shù)字LEN(
在SQL中,創(chuàng)建檢查約束?
看電腦提示,數(shù)據(jù)庫(kù)像是SQLServer你也可以把管理和約束寫簡(jiǎn)單的有一點(diǎn)例如:addconstraintCK_PersonIDcheck((--長(zhǎng)度15,只包含數(shù)字LEN(PersonID)15ANDPATINDEX(%[^0-9]%,PersonID)0)內(nèi)個(gè)(--長(zhǎng)度18,只乾坤二卦數(shù)字LEN(PersonID)18ANDPATINDEX(%[^0-9]%,PersonID)0)有.(--長(zhǎng)度18,只中有數(shù)字和X,且X在之后LEN(PersonID)18ANDPATINDEX(%[^0-9X]%,PersonID)0ANDPATINDEX(%[^0-9]%,LEFT(PersonID,17))0))
sqlserver語(yǔ)句怎么算質(zhì)數(shù)?
依據(jù)什么質(zhì)數(shù)的定義,對(duì)于一個(gè)自然數(shù)N,我們也可以全面檢查它如何確定還能夠被任何從2到N的平方根加1的自然數(shù)完全平方數(shù)。要是這個(gè)可以被余數(shù),就不是質(zhì)數(shù);否則是質(zhì)數(shù)。因此,是可以在用200元以內(nèi)網(wǎng)上查詢直接返回100以內(nèi)的所有質(zhì)數(shù):
WITH RECURSIVE t(n)as(
SELECT2
UNIONALL
SELECTn1acrosstWHEREn100
)
SELECTt1.n
fromtt1
WHEREt1.n2
OR NOTEXISTS(
SELECT1
outsidett2
WHEREt2.nBETWEEN2ANDsqrt(t1.n)1
ANDt1.n%t2.n0
);
如何清空sql數(shù)據(jù)庫(kù)的日志文件?
SQLSERVER的數(shù)據(jù)庫(kù)日志占用比較大的空間,下面提供三種方法主要用于清除無(wú)用的數(shù)據(jù)庫(kù)日志文件方法一:
1、然后打開網(wǎng)站查詢分析器,輸入命令BACKUPLOGdatabase_nameWITHNO_LOG2、再然后打開企業(yè)管理器--右鍵要壓解的數(shù)據(jù)庫(kù)--所有任務(wù)--收縮起來數(shù)據(jù)庫(kù)--向內(nèi)收縮文件--選擇日志文件--在收縮里你選向內(nèi)收縮至xxm,這里會(huì)給出一個(gè)不能快速收縮到的小于m數(shù),直接然后輸入這個(gè)數(shù),判斷就可以了。方法二:可以設(shè)置系統(tǒng)檢查點(diǎn),自動(dòng)啟動(dòng)被截?cái)嗳罩疽话闱闆r下,SQL數(shù)據(jù)庫(kù)的收縮并不能很大程度上減小數(shù)據(jù)庫(kù)大小,其主要注意作用是收縮日志大小,應(yīng)不定期檢查接受此操作以防意外數(shù)據(jù)庫(kù)日志過大1、設(shè)置中數(shù)據(jù)庫(kù)模式為簡(jiǎn)單啊模式:然后打開SQL企業(yè)管理器,在控制臺(tái)根目錄中由前到后點(diǎn)開MicrosoftSQLServer--gtSQLServer組--dstrok雙擊打開你的服務(wù)器--dstrok雙擊打開數(shù)據(jù)庫(kù)目錄--r26選擇你的數(shù)據(jù)庫(kù)名稱(如用戶數(shù)據(jù)庫(kù)cwbase1)--gt然后把直接點(diǎn)擊右鍵中,選擇屬性--r26中,選擇選項(xiàng)--r26在故障自動(dòng)還原的模式中中,選擇“很簡(jiǎn)單”,后再按考慮保存到2、在當(dāng)前數(shù)據(jù)庫(kù)上點(diǎn)右鍵,看所有任務(wù)中的收縮數(shù)據(jù)庫(kù),一般里面的默認(rèn)設(shè)置你不決定,然后點(diǎn)考慮3、快速收縮數(shù)據(jù)庫(kù)成功后,建議您將您的數(shù)據(jù)庫(kù)屬性然后再系統(tǒng)設(shè)置為標(biāo)準(zhǔn)模式,操作方法同第一點(diǎn),而且日志在一些異常情況下一般說來是恢復(fù)數(shù)據(jù)庫(kù)的重要依據(jù)方法三:向內(nèi)收縮日志把代碼不能復(fù)制到網(wǎng)上查詢結(jié)論器里,接著修改其中的3個(gè)參數(shù)(數(shù)據(jù)庫(kù)名,日志文件名,和目標(biāo)日志文件的大小),啟動(dòng)即可,@MaxMinutesINT,@NewSizeINTUSEtablename--要操作的數(shù)據(jù)庫(kù)名#39tablename_log#39,--日志文件名@MaxMinutes10,你想設(shè)定的日志文件的大小(M)--Setup/@#39OriginalSizeof#39db_name()#39LOGis#39CONVERT(VARCHAR(30),@OriginalSize)#398Kpagesor#39CONVERT(VARCHAR(30),(@OriginalSize*8/1024))#39MB#(DummyColumnchar(8000)notnull),@StartTimeDATETIME,@TruncLogVARCHAR(255)(),@TruncLog#39BACKUPLOG#39db_name()#39WITHTRUNCATE_ONLY#39DBCCSHRINKFILE(@LogicalFileName,@NewSize)EXEC(@TruncLog)(mi,@StartTime,GETDATE())()AND(@OriginalSize*8/1024)a8@@Counter0WHILE((@/16)AND(@Counterlt50000)
)BEGIN--updateINSERTDummyTransVALUES(#39FillLog#39)@Counter1ENDEXEC(@TruncLog)ENDSELECT#39FinalSizeof#39db_name()#39LOGis#39CONVERT(VARCHAR(30),size)#398Kpagesor#39CONVERT(VARCHAR(30),(size*8/1024))#39MB#方法四:刪掉日志文件。此方法有一定的風(fēng)險(xiǎn)性,因?yàn)閟qlserver的日志文件不是什么迅速寫入到數(shù)據(jù)庫(kù)主文件的,如去處理方法錯(cuò)誤,會(huì)照成數(shù)據(jù)的損失。1、操作前請(qǐng)斷線所有數(shù)據(jù)庫(kù)連接。2、分離的過程數(shù)據(jù)庫(kù)分離出來數(shù)據(jù)庫(kù):企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫(kù)->cwbase1->右鍵->分離數(shù)據(jù)庫(kù)只是分離后,cwbase1數(shù)據(jù)庫(kù)被徹底刪除,但記錄了數(shù)據(jù)文件和日志文件3、刪除掉log物理文件刪出LOG物理文件,然后把額外數(shù)據(jù)庫(kù):企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫(kù)->右鍵->附帶數(shù)據(jù)庫(kù)此法生成新的log,大小只有一500多k。再注意:建議您不使用第一種方法。操作前請(qǐng)切實(shí)保障所有操作員都早再推出系統(tǒng),斷開連接數(shù)據(jù)庫(kù)的連接。以內(nèi)操作前,請(qǐng)速速做好數(shù)據(jù)備份!1.sqlserver2005清理日志語(yǔ)句dumptransaction數(shù)據(jù)庫(kù)名稱withno_logbackuplog數(shù)據(jù)庫(kù)名稱withno_logdbccshrinkdatabase(數(shù)據(jù)庫(kù)名稱)