2

解決済み(私自身の問題):

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES

これは私のために働いた。


ここにあるMicrosoftWebサイトのチュートリアルに従うと、次のコードを使用してテーブルの行をループするのは非常に簡単であることがわかりました。

 @{
   var data = Database.Open("FullDatabase").Query("SELECT * FROM Servers");
 } 

<div id="movieslist">
    <ol>
        @foreach(var row in data)
        {
        <li><a href="#">@row.Item</a></li>
        }
    </ol>
</div>

これは以下を出力します:

1. Virtual Machines

2. Physical Machines

3. Processors (CPU)

4. Memory (RAM)

5. OS Build

ただし、「サーバー」テーブルはデータベースにある多くのテーブルの1つにすぎません。私がやりたいのは次のようなものです。

 @{
   var database = Database.Open("FullDatabase")
 } 

<div id="movieslist">
    <ol>
        @foreach(var table in database)
        {
        var data = database.Query("SELECT * FROM " + table);
            @foreach(var row in data)
            {
            <li><a href="#">@row.Item</a></li>
            }
         }
    </ol>
</div>

そのようなことは可能ですか?もしそうなら、どのように?どうもありがとう。

4

1 に答える 1

0

まず第一に、それはあなたが楽しみのために行うことであり、本番サイトでは決してありません。本当に必要なものだけを取得する必要があり、不要なものすべてを消費する帯域幅や時間を無駄にすることはありません。

次に、いつでもシステムデータをクエリでき、すべてのテーブルをボードに取り込むには、次のようなSELECTステートメントを発行するだけです。

SELECT name FROM [sysobjects] WHERE xtype = 'u';

また

SELECT name FROM [sys].[objects] WHERE type_desc = 'USER_TABLE';

また

SELECT table_name FROM [information_schema].[tables];

使用しているSQLバージョンに応じて、これらはすべて同じように動作します。

したがって、databaseクエリは次のようになります。

var database = Database
                  .Open("FullDatabase")
                  .Query("SELECT name FROM [sysobjects] WHERE xtype = 'u'");
于 2012-04-25T07:36:15.380 に答える