查詢指定的物件在那些資料庫中存在

2021-05-22 07:52:52 字數 1241 閱讀 1634

create proc find_object(@object_name varchar(100),@xtype varchar(2))

as/*

@object_name 物件名

@xtype 物件的型別

物件型別。可以是下列物件型別中的一種:

c = check 約束

d = 預設值或 default 約束

f = foreign key 約束

l = 日誌

fn = 標量函式

if = 內嵌表函式

p = 儲存過程

pk = primary key 約束(型別是 k)

rf = 複製篩選儲存過程

s = 系統表

tf = 表函式

tr = 觸發器

u = 使用者表

uq = unique 約束(型別是 k)

v = 檢視

x = 擴充套件儲存過程

*/declare @dbname sysname,@sql nvarchar(4000),@re bit,@sql1 varchar(8000)

set @sql1=''

declare tb cursor for select name from master..sysdatabases

open tb

fetch next from tb into @dbname

while @@fetch_status=0

begin

set @sql='set @re=case when exists(select 1 from ['

+@dbname+']..sysobjects where xtype=''' + @xtype  + ''' and name='''

+@object_name+''') then 1 else 0 end'

exec sp_executesql @sql,n'@re bit out',@re out

if @re=1 set @sql1=@sql1+' union all select '''+@dbname+''''

fetch next from tb into @dbname

endclose tb

deallocate tb

set @sql1=substring(@sql1,12,8000)

exec(@sql1)

-------test

exec find_object 'p_indent','p'

查詢指定的表在那些資料庫中存在

查詢指定的表在那些資料庫中存在 declare tbname sysname set tbname 客戶資料 declare dbname sysname,sql nvarchar 4000 re bit,sql1 varchar 8000 set sql1 declare tb cursor fo...

查詢指定的表在那些資料庫中存在

查詢指定的表在那些資料庫中存在 declare tbname sysname set tbname 客戶資料 declare dbname sysname,sql nvarchar 4000 re bit,sql1 varchar 8000 set sql1 declare tb cursor fo...

jedis取存 資料庫查到的物件 資料庫 索引相關

在資料庫中,索引的含義與日常意義上的 索引 一詞並無多大區別 想想小時候查字典 它是用於提高資料庫表資料訪問速度的資料庫物件。總而言之,索引是乙個排序的列表,在這個列表中儲存著索引的值和包含這個值的資料所在行的實體地址,在資料十分龐大的時候,索引可以大大加快查詢的速度,這是因為使用索引後可以不用掃瞄...