69 個のテーブルを持つデータベースがあり、各テーブルの最初の 3 つのレコードのみを選択したいと考えています。
私はテーブルごとにそれを行うことができます:
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)