如何判斷資料庫是否存在 執行下列的sql,獲得一張表,根據表的行數來判斷。
select * from master..sysdatabases where name=n'所查詢的資料庫名'
if exists(select * from master.dbo.sysdatabases where name = 'yexinwinners')
begin
drop database yexinwinners
print 'yexinwinners己存在,己被刪除'
endelse
begin
create database yexinwinners
on primary
(name = yexinwinners_mdf,
filename = 'c:\yexinwinners.mdf',
size = 10mb,
maxsize = 50mb,
filegrowth = 25%
)log on
(name = yexinwinners_ldf,
filename = 'c:\yexinwinners.ldf',
size = 10mb,
maxsize = 50mb,
filegrowth = 25%
)print 'yexinwinners 資料庫建立成功'
end--建聚集索引
create clustered index index_yexinwinners
on tablename(column_name)
with fillfactor = 10
--建非聚集索引
create nonclustered index index_yexinwinners
on tablename(column_name)
with fillfactor = 10
--建檢視
create view view_name
asselect * from pubs.titles(sql語句,任意)
--建檢查檢視
create view view_name
asselect * from pubs.titles(sql語句,任意)
with check option
--建加密檢視
create view view_name
with encryption
asselect * from pubs.titles(sql語句,任意)
--建表
create table tablename
( ---(欄位名,字段型別 自己任意)
stuid int not null identity(1,1) primary key,
stuname varchar(30) not null,
stuage char(3) not null
)--新增check約束
alter table tablename
add check(stuage >0 and stuage <100)
--新增外來鍵
alter table tablename
add foreign key (stuname)
references xtablename(stuname)
--新增唯一約束
alter table tablename
add unique(stuid) ---建事務
begin tranaction
update xtable set money = money + 10000 where id = 1
update xtable set money = money - 10000 where id = 3
if(@@error <> 0)
begin
print '轉帳失敗'
rollback transaction
endelse
begin
print '轉帳成功'
commit transaction
end--建游標
declare cursor_name cursor
for select * from northwind.product
--建更新游標
declare cursor_name cursor
for select * from northwind.product
for update
--建隨意移動游標
declare cursor_name cursor scroll
for select * from northwind.product
--使用游標
open cursor_name
--關閉游標
close cursor_name
--刪除游標
deallocate cursor_name
--移動游標
fetch next -- 下一條記錄
fetch last --最後一條記錄
fetch first --第一條記錄
fetch prior --上一條記錄
fetch absolute n -- 絕對位置 name = yexinwinners
email = [email protected]
blog = blog.sina.com.cn/yexins
qq = 306677309
sqlserver中判斷資料庫是否存在:
select*frommaster.dbo.sysdatabaseswherename='pubs'
最初安裝sqlserver時,sysdatabases包含master、model、msdb、mssqlweb和tempdb資料庫的項。該錶只儲存在master資料庫中。
但在實際使用中,需判斷status狀態位:
其中某些狀態位可由使用者使用sp_dboption(readonly、dbouseonly、singleuser等)進行設定:
1=autoclose;使用sp_dboption設定。資料庫完全關閉,其資源在最後乙個使用者登出後釋放。
4=selectinto/bulkcopy;使用sp_dboption設定。允許使用selectinto語句和快速大容量複製。
8=trunc.logonchkpt;使用sp_dboption設定。如果資料庫處於日誌截斷模式,則檢查點將截斷日誌中非活動的部分。只能為master資料庫設定此選項。16=tornpagedetection,使用sp_dboption設定。可以檢測殘缺頁。
32=loading。
64=prerecovery。
128=recovering。
256=notrecovered。
512=offline;使用sp_dboption設定。資料庫將處於離線狀態。
1024=readonly;使用sp_dboption設定。使用者僅能讀取資料庫中的資料而無法對其進行修改。
2048=dbouseonly;使用sp_dboption設定。只有資料庫所有者可以使用資料庫。
4096=singleuser;使用sp_dboption設定。每次只能有乙個使用者訪問資料庫。
32768=emergencymode。
4194304=autoshrink。
1073741824=cleanlyshutdown。
可以同時開啟多個位。
譬如:判斷乙個資料庫是否offline
select*frommaster.dbo.sysdatabaseswherename='pubs'andstatus<>512
sqlserver中判斷表物件是否存在:
selectcount(*)fromsysobjectswhereid=object_id('資料庫名.owner.表名')
ifexists
(selectcount(*)fromsysobjectswhereid=object_id('資料庫名.owner.表名'))
print'存在'
else
print'不存在'
sqlserver中判斷表中字段是否存在:
ifexists(select*fromsyscolumnswherename='colname1'andid=object_id('資料庫名.owner.表名'))
print'存在'
else
print'不存在'
代表表tablename1中存在colname1欄位
例:select*fromsyscolumnswherename='test'andid=object_id('dbo.test')
access中判斷表物件是否存在:
其實,access資料庫也有系統表,存放有物件名
selectcount(*)asqtyfrommsysobjectswhere((msysobjects.name)like'表名');
判斷資料庫和表是否存在
if not exists(select 1 from master.dbo.sysdatabases where name=n'jzkstarcfg')
SQL Server 中如何判斷表是否存在
sql server資料庫中表等物件都儲存在sysobjects資料表中,臨時表被儲存於tempdb資料庫中 1.判斷普通表是否存在,可以使用object id函式,它可以根據物件名稱返回物件的id if select object id tablename is notnull select tr...
如何判斷資料型別?
1 typeof 2 instanceof 3 constructor 4 object.prototype.tostring.call 5 jquery.type 1 typeof 使用typeof可以判斷基本資料型別,在使用typeof判斷引用資料型別時除了判斷function時返回functi...
sql server判斷表存在
在建立表 更改表結構 刪除表或對錶進行什麼操作之前,乙個比較嚴謹的做法是先判斷該錶是否已經存在。在sql server中判斷乙個表是否存在,有兩個方法,下面以diso表為例。方法1 if exists select top1 1from sysobjects where id object id n...