查找类似名的表以及字段

Declare @db varchar(100)
Declare @dbID int =4
Declare @tabName varchar(100)=‘mask‘
Declare @columnName varchar(100) = ‘‘
Declare @FixDB varchar(100)=‘ProductDB‘
--在所有的库中找一张表
while 1=1
Begin
Select Top 1 @db=name,@dbID=database_id From  Sys.databases where database_id>@dbID Order by database_id asc
--如果指定搜索的数据库,则跳过所有非指定数据库
If (@FixDB<>@db And  LEN(@FixDB)>2)
Continue
Begin try
if(LEN(@tabName)>0)
exec ( ‘If Exists( Select ‘‘‘[email protected]+‘‘‘,* From ‘[email protected]+‘.sys.tables(Nolock) where name like  ‘‘%‘[email protected]+‘%‘‘ )
Select ‘‘‘[email protected]+‘‘‘ DBName,* From ‘[email protected]+‘.sys.tables(Nolock) where name like  ‘‘%‘[email protected]+‘%‘‘
‘)
if(LEN(@columnName)>0)
exec ( ‘If Exists( Select C.name,O.name From ‘[email protected]+‘.sys.columns(Nolock)  C
Inner Join ‘[email protected]+‘.sys.objects O on C.object_id=O.object_id
where C.name like ‘‘%‘[email protected]+‘%‘‘)
Select ‘‘‘[email protected]+‘‘‘ DBName,O.name TableName,C.name ColumName From ‘[email protected]+‘.sys.columns(Nolock)  C
Inner Join ‘[email protected]+‘.sys.objects O on C.object_id=O.object_id
where C.name like ‘‘%‘[email protected]+‘%‘‘
 ‘
)
End try
Begin catch
Print @db
End catch

If (@[email protected] And  LEN(@FixDB)>2)--如果当前是指定的数据库,说明已经运行结束,跳出循环。
Break
IF((Select max(database_id) From  Sys.databases )[email protected]) --如果当前运行结束的数据库是最后一个,则说明运行结束,退出循环
break
End

  

时间: 2024-11-14 12:20:07

查找类似名的表以及字段的相关文章

KO ------- 表中字段名和实体类属性名不一致

-----------------------siwuxie095 KO ------- 表中字段名和实体类属性名不一致 如果数据库表中的字段名和实体类的属性名不一致,那么在查询时, 相应字段的结果就会为空 (一)问题复现 1.先创建数据库 mybatis_db, 再创建表 t_user,并插入若干数据 注意:user_id 为主键,且为自动增长 2.创建实体类 User.java: package com.siwuxie095.entity; // 实体类 public class User

Oracle 查询库中所有表名、字段名、表名说明、字段名说明(原创)

查询所有表名:select t.table_name from user_tables t;查询所有字段名:select t.column_name from user_col_comments t;查询指定表的所有字段名:select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';查询指定表的所有字段名和字段说明:select t.column_name, t.column_name from

MYSQL 数据库名、表名、字段名查询

//查询所有表的所有字段: select * from information_schema.columns where table_name='sys_users' 效果: //查询指定表的所有字段: select * from information_schema.columns where table_name='sys_users' and TABLE_SCHEMA='taoke' 效果: //查询指定表的所有字段的指定类型,注释: 查询所有含有此字段名的表: SELECT * FROM

oracle看到用户的所有表名、表睐、字段名称、现场的目光、是空的、字段类型

--oracle看到用户的所有表名.表睐.字段名称.现场的目光.是空的.字段类型 select distinct TABLE_COLUMN.*, TABLE_NALLABLE.DATA_TYPE, TABLE_NALLABLE.NULLABLE from (select distinct utc.table_name table_name, utc.comments table_comments, ucc.column_name column_name, ucc.comments column_

查找数据库中所有表中的字段包含特定值,之后修改特定值

declare @cloumns varchar(40) declare @tablename varchar(40) declare @str varchar(40) declare @counts int declare @sql nvarchar(2000) declare @str2 nvarchar(2000) declare MyCursor Cursor For Select a.name as Columns, b.name as TableName from syscolumn

获取sqlserver数据库中所有库、表、字段名的方法

1.获取所有数据库名: SELECT Name from Master..SysDatabases ORDER BY Name 2.获取所有表名: SELECT Name from DatabaseName..SysObjects Where XType='U' ORDER BY Name XType='U':表示所有用户表; XType='S':表示所有系统表; 3.获取所有字段名: SELECT Name from SysColumns WHERE id=Object_Id('TableNa

SQL语句获取所有数据库名、表名、字段名、表字段长度

引自:http://www.2cto.com/database/201209/155178.html 获取数据库中所有的表 SELECT SysObjects.name AS Tablename FROM sysobjects WHERE xtype = 'U' 获取数据库中所有表的列名 SELECT SysColumns.name AS Columnsname, SysObjects.name AS Tablename FROM SysObjects, SysColumns WHERE Sys

用 pymysql 打印 MySQL/MariaDB 的所有库名、表名和字段名

[环境] Python 版本:3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] PyMySQL 版本:0.8.1 [代码] #encoding: utf-8 #author: walker #date: 2018-07-26 #summary: 打印 MySQL/MariaDB 里面的所有库名.表名和字段名 import pymysql import pprint   DBHost = r'1

使用sql查询mysql/oracle/sql server/gp数据库中指定表的字段信息(字段名/字段类型/字段长度/是否是主键/是否为空)

1,根据数据库类型拼接不同URL /** * 根据类型不同拼接连接的URL * @param dbType 1:mysql.2:oracle.3:sql server.4:gp * @param ip * @param port * @param databaseName * @return*/ public static String getTestDbUrl(int dbType, String ip, String port, String databaseName){ String ur