테이블 이름 검색
다음 명령을 사용하여 특정 데이터베이스의 저장 프로시저 내에서 문자열을 검색합니다.
USE DBname
SELECT Name
FROM sys.procedures
WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%xxx%'
특정 DB "DBname"에서 테이블 이름을 검색하도록 위의 내용을 쉽게 수정할 수 있습니까?
나는 이것을 사용하고 있고 잘 작동한다.
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE '%%'
select name
from DBname.sys.tables
where name like '%xxx%'
and is_ms_shipped = 0; -- << comment out if you really want to see them
서버 전체에서 모든 데이터베이스의 모든 테이블을 검색하여 출력을 얻으려면 문서화되어 있지 않은 sp_MSoreachdb 절차를 사용합니다.
sp_MSforeachdb 'SELECT "?" AS DB, * FROM [?].sys.tables WHERE name like ''%Table_Names%'''
필터 버튼을 사용하여 특정 문자열이 포함된 테이블을 필터링할 수도 있습니다.저장 프로시저 및 뷰에서도 동일한 작업을 수행할 수 있습니다.
데이터베이스 이름을 단순히 실행하는 것이 아니라 매개 변수로 전달해야 합니다.
SELECT *
FROM DBName.sys.tables
WHERE Name LIKE '%XXX%'
이 경우 동적 SQL을 사용하여 쿼리에 dbname을 추가할 수 있습니다.
DECLARE @DBName NVARCHAR(200) = 'YourDBName',
@TableName NVARCHAR(200) = 'SomeString';
IF NOT EXISTS (SELECT 1 FROM master.sys.databases WHERE Name = @DBName)
BEGIN
PRINT 'DATABASE NOT FOUND';
RETURN;
END;
DECLARE @SQL NVARCHAR(MAX) = ' SELECT Name
FROM ' + QUOTENAME(@DBName) + '.sys.tables
WHERE Name LIKE ''%'' + @Table + ''%''';
EXECUTE SP_EXECUTESQL @SQL, N'@Table NVARCHAR(200)', @TableName;
대소문자를 구분하지 않는 검색을 원하는 경우:
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME ILIKE '%%'
또는
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE Lower(TABLE_NAME) LIKE Lower('%%')
@[ Richard ]에 추가The Kiwi]의 대답입니다.
테이블 목록을 검색할 때마다 일반적으로 모든 테이블 중에서 선택하거나 삭제합니다.다음으로 이러한 스크립트를 생성하는 스크립트를 나타냅니다.
생성된 선택 스크립트에는 tableName 열도 추가되어 어떤 테이블을 보고 있는지 알 수 있습니다.
select 'select ''' + name + ''' as TableName, * from ' + name as SelectTable,
'delete from ' + name as DeleteTable
from sys.tables
where name like '%xxxx%'
and is_ms_shipped = 0;
show 명령어를 사용할 수도 있습니다.
show tables like '%tableName%'
당신이 가지고 있는 모든 스키마에 대해 간단한 솔루션을 게시하고 싶습니다.MySQL DB를 사용하는 경우 스키마에서 모든 테이블의 이름을 가져와 WHERE-LIKE 조건을 추가할 수 있습니다.다음과 같이 일반 명령줄에서도 수행할 수 있습니다.
SHOW TABLES WHERE tables_in_<your_shcema_name> LIKE '%<table_partial_name>%';
어디에tables_in_<your_shcema_name>
의 컬럼 이름을 반환합니다.SHOW TABLES
명령어를 입력합니다.
다음을 사용할 수 있습니다.
Select * from sys.tables where name like '%yourtablename%'
이거면 잘 될 거야...
SELECT * FROM sys.이름이 '%%'와 같은 표
언급URL : https://stackoverflow.com/questions/13085655/search-of-table-names
'programing' 카테고리의 다른 글
Query CosmosDb - 배열에 배열의 항목이 포함되어 있습니다. (0) | 2023.04.23 |
---|---|
특별한 달러 기호 셸 변수는 무엇입니까? (0) | 2023.04.23 |
NSLog에서 사용하는 "toString()"에 대한 Objective-C는 무엇입니까? (0) | 2023.04.23 |
WebForms UntruptiveValidationMode를 사용하려면 'jquery'를 위한 ScriptResourceMapping이 필요합니다.jquery(대문자와 소문자가 구분됨)라는 이름의 ScriptResourceMapping을 추가하십시오. (0) | 2023.04.23 |
이미 실행 중인 프로세스를 nohup에 넣는 방법은 무엇입니까? (0) | 2023.04.23 |