복붙노트

[SQL] 데이터베이스의 각 테이블의 처음 3 개 행을 선택

SQL

데이터베이스의 각 테이블의 처음 3 개 행을 선택

나는 69 개 테이블이있는 데이터베이스를 가지고 있고 각 테이블의 처음 세 개의 레코드를 선택합니다.

나는 테이블 당과 그것을 할 수 있습니다 :

SELECT TOP 3 * 
  FROM table_schema.table_name

나는이 수동을 할 수 있다면 그러나, 시간이 많이 걸릴 것이다.

당신은 해결 방법을 제안시겠습니까?

(나는 MSSQL에 대한 수정하는 방법을 모른다) 나는이 솔루션을 시도했지만 나는 일에 그것을 얻을 수

귀하의 답변에 대한 편집 주셔서 감사합니다. 아마 분명 충분하지 않았다 : 나는 각각의 테이블을 분석하고 오직 다음 하나에 최고를 이동 3보다 기록을 얻고 싶었다 의미했다. 아래의 야로슬라프의 코드는 내가 필요로 무엇인가

DECLARE @sql VARCHAR(MAX)='';
SELECT @sql=@sql+'SELECT TOP 3 * FROM '+'['+SCHEMA_NAME(schema_id)+'].['+name+']'+';'
  FROM sys.tables
EXEC(@sql)

해결법

  1. ==============================

    1.당신이 이곳까지 :

    당신이 이곳까지 :

    DECLARE @sql VARCHAR(MAX)='';
    SELECT @sql=@sql+'SELECT TOP 3 * FROM '+'['+SCHEMA_NAME(schema_id)+'].['+name+']'+';'
      FROM sys.tables
    EXEC(@sql)
    
  2. ==============================

    2.

     exec sp_MSforeachtable 'select top 3 * from ?'
    
  3. from https://stackoverflow.com/questions/11741212/select-the-first-3-rows-of-each-table-in-a-database by cc-by-sa and MIT license