SQL 查表名?

来源:百度知道 编辑:UC知道 时间:2024/05/25 15:11:38
一个数据库 已知用户名(如:sshh)地址 但不知里面的表,由于和服务器不在一起,想问用什么语句查询 可以得知数据库里的表名(人工建立的表非数据库本身的表!)
那你用select * from dba_tables或者select * from user_tables

你是说用户表。
查询所有表名:
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'

查询所有内容中包含某字串的表:
EXEC Full_Search '要查的字串'

赠送数据库表内容全文查找存储过程:

CREATE proc Full_Search(@string varchar(50))
as
begin

declare @tbname varchar(50)
declare tbroy cursor for select name from sysobjects
where xtype= 'u ' --第一个游标遍历所有的表

open tbroy
fetch next from tbroy into @tbname
while @@fetch_status=0
begin

declare @colname varchar(50)
declare colroy cursor for select name from syscolumns
where id=object_id(@tbname) and xtype in (
select xtype from systypes
where name in ( 'varchar ', 'nvarchar ', 'char ', 'nchar ') --数据类型为字符型的字段
) --第二个游标是第一个游标的嵌套游标,遍历某个表的所有字段

open colroy
fetch next from colroy into @colname
while @@fetch_status=0
begin

declare @sql nvarchar(1000),@j int
sel