SQLを使用してデータベース内のテーブル作成をシミュレートする標準的な方法はありますか?テーブルを作成する必要はありません。作成できるかどうかを確認するだけです。 これを作成してもう一度削除する方法もあります。 他の方法はありますか?SQLを使用したテーブル作成のシミュレーション
0
A
答えて
4
ほとんどの主要なサーバは、トランザクションのDDLをサポートしています。
begin transaction
create table Foo ...
rollback transaction
理論上、エラーの場合はクライアントに報告する必要がありますが、テーブルは完全には作成されません。
2
はあなたが興味のあるSQL DBMSに依存例えばPostgresはトランザクションのDDLをサポートし、次のように動作します:あなたはこれらの線に沿って何かを行うことができますので
START TRANSACTION;
CREATE TABLE ...();
<check for error here>
ROLLBACK;
0
MySQLを使用している場合は、MEMORYのような一時的なストレージエンジンを使用して作成できます。
0
本当に、すべてを確認するために実際に作成する必要があります。
デフォルトまたはチェック制約として、または計算列内で使用される外部キー参照は、実行時までチェックされません。
0
「SET FMTONLY ON」を使用する基本的な方法(SQL Server)が1つあります。
ステートメントのチェックには有効ですが、すべてのことを示すわけではありません(たとえば、テーブルが既に存在する場合など)。
これは成功します:
SET FMTONLY ON
EXECUTE ('CREATE TABLE SomeTable(SomeField INTEGER)')
SET FMTONLY OFF
これはしません:
SET FMTONLY ON
EXECUTE ('CREATE TABLE SomeTable(dodgysyntax)')
SET FMTONLY OFF
このアプローチは、おそらく私が過去にそれを使用してきたものであるSELECT文のためのより有用です。実際にはステートメントは実行されませんが、メタデータが返されます。
関連する問題
- 1. 外部キーを使用したSQL Serverテーブルの作成
- 2. 連続データの作成UPDATES/INSERTS - SQLシミュレーション
- 3. SQLを使用してSQL Serverテーブル関数を作成する
- 4. LINQ To SQL/SQL CEを使用してテーブルを作成
- 5. NHibernateを使用したテーブルの作成
- 6. クロージャツールを使用したテーブルの作成
- 7. Angular.jsを使用したテーブルの作成
- 8. SQLクエリのスキーマを使用してテーブルを作成する
- 9. テーブルを作成するために使用されるSQLステートメント?
- 10. sysobjectsテーブルのテーブル名を使用してSQL Serverビューを作成します。
- 11. Pythonのsqlite3を使用してデータベースにテーブルを作成するためのSQL
- 12. 他のテーブルのリレーションを使用してSQLでテーブルを作成する
- 13. 数式を使用してSQL Serverテーブルを作成する
- 14. Oracle 11Gを使用してSQLでテーブルを作成する
- 15. MS SQLでリンク・サーバー・テーブルを使用してトリガーを作成
- 16. JOIN SQLを使用してテーブルを作成
- 17. pl/sqlを使用してテーブルを作成できません
- 18. SQL作成テーブル
- 19. Clouderaを使用したMap-reduceのシミュレーション
- 20. カスタムライブラリを使用したVHDLデザインのシミュレーション
- 21. bashを使用したキープレスのシミュレーション
- 22. 問題SQuirreL SQLクライアントを使用したSQL Serverトリガの作成
- 23. シミュレーション "docker_image"を使用した "docker build -f"
- 24. JSONを使用してテーブルを作成
- 25. TERADATA SQL:別のテーブルに格納されたクエリ結果を使用して1つのテーブルを作成する
- 26. 列(SQL)を使用した転置テーブル
- 27. knex.jsを使用したMy Sql Alterテーブル
- 28. PHPを使用したSQL SELECTテーブル
- 29. テーブルを作成するためのAndroid sql使用可能な文字
- 30. SQL Serverテーブルを作成
どのような状況でテーブルを作成できないと思われますか?すでに同じ名前のテーブルがある場合は?あまりにも多くのフィールドがある場合? DDLに構文エラーがある場合既知の可能性のあるエラーがあるか、潜在的なエラーをトラップしようとしているかは不明です。 –
潜在的なエラー。 Antonの提案はうまくいく。皆さん、ありがとうございました。 – Zardoz