3

重複の可能性:
SQL Server: テーブルが存在するかどうかを確認する
Oracle: テーブルが存在する場合

テーブルを作成していくつかの値を挿入しようとしていますが、その前にテーブルがまだ存在していないことを確認する必要があります。これをどのように確認しますか?

4

5 に答える 5

1

そこから単純に SELECT してエラーをキャプチャすることができます。それ以外の場合は、DB 固有の SQL を記述して、それぞれのメタデータ テーブルにクエリを実行し、そこを確認する必要があります。

于 2012-04-19T04:45:03.197 に答える
0

SQL Server を想定して...クエリ sysobjects:

select * from sysobjects where xtype='U' and name ='tablename'
于 2012-04-19T04:49:46.237 に答える
0

MySQL では、CREATE TABLE IF NOT EXISTS コンストラクトを使用して、INSERT クエリの前に実行できます。これは、テーブルが存在しない場合は作成し、テーブルが存在する場合は何もしません。

CREATE TABLE IF NOT EXISTS myTable (
    ....
)

http://dev.mysql.com/doc/refman/5.1/en/create-table.html

http://docs.oracle.com/cd/E17952_01/refman-5.1-en/create-table.html

于 2012-04-19T04:50:12.510 に答える
0

もし MySQL:

select count(*) from my_tables where table_name='table_1'; 
If count>0 then  ...
于 2012-04-19T04:45:22.513 に答える
0

この単純なクエリは、Oracle のユーザーによって作成された特定のテーブルに関する詳細を提供します。それを試してみてください。

 select * from user_tables where table_name = 'tablename';
于 2012-04-19T06:06:26.310 に答える