問題タブ [sp-msforeachtable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SQL Server:サーバーにすべてのチェック制約をチェックさせる方法は?
Enterprise Manager *によって生成された一部のスクリプト(またはそうでない場合は関係ありません)は、NOCHECKを使用してチェック制約を作成したようです。
これで、誰かがテーブルを変更すると、SQL Serverは失敗したチェック制約に遭遇し、エラーをスローします。
SQLにすべてのチェック制約を通過させてチェックさせることはできますか?
ランニング:
以前に無効にされたチェック制約のみを有効にし、実際にはチェックしません。
脚注
* SQL Server 2000
sql - sp_MSforeachtable の順序
sp_MSforeachtable
データベース内の特定のテーブルの行数を取得するために使用しています。これらを名前順に並べたい。
ORDER BY
に句を追加するにはどうすればよいsp_MSforeachtable
ですか?
tsql - sp_msforeachtable で正しい結果が得られない
sp_msforeachtable を使用して、データベース内のいくつかのテーブルに対して何らかの作業を行いたいと考えています。IFステートメントを使用して、テーブルをフィルター処理します。しかし、それは私に正しい答えを与えません。次のスクリプトが示すように、AdventureWorksを使用してテストを行います。Person.Address、Person.Contact、Person.CountryRegionを除くすべてのテーブルで何らかの作業を行いたいと考えています。ご覧のとおり、これらのテーブルはまだ結果に含まれています。なんで?誰が私の問題を解決してくれますか? まことにありがとうございます。
結果は次のとおりです。
sql - 実行時に Select ステートメントを作成し、sp_MSforeachtable を使用して実行する
私は以下の表を持っています:
ddlは次のとおりです
私がする必要があるのは、実行時にフィールドとテーブル名を使用してクエリを作成する必要があり、それ以降はそれらを実行する必要があるということです。
したがって、実行時に形成されるクエリは次のとおりです。
私のクエリは以下の通りで、うまく機能します
しかし、私はそれがより良い方法でさえできると確信しています. sp_MSforeachtableを探していまし たが、できるかどうかわかりません。
助けてください。
sql - sp_msforeachtable からテーブルを除外する方法
sp_msforeachtable
すべてのテーブルに対してクエリを実行できることを知っています。
100 個のテーブルがあり、97 個のテーブルに対して同じクエリを実行したいと考えています。
私はこのクエリを使用しています:EXEC sp_MSForEachTable "DELETE FROM ?"
特定のテーブルを除外することはできますか?
sql-server - SQL Server sp_msforeachtable を使用して、いくつかの条件を満たすテーブルのみを選択する
特定の値を持つ特定の列を持つすべてのテーブルを検索するために、このクエリを作成しようとしています。これは私がこれまでやってきたことです -
意図が明確であることを願っています。列EMP_CODE
が存在するテーブルのみを選択し、それらのテーブルでEMP_CODE='HO081'
.
編集 -
今、このように立っています。@EMPCODE
しかし、クエリで変数を置き換えることはできません。
sql - sp_MSforeachtable - 動的 SQL の解析
私は最近、sp_MSforeachtable ストアド プロシージャを使用して、テーブル名に Transcode という単語が含まれるすべてのテーブルを選択し、それらのテーブルで SQL を実行したいという問題を発見しました。正常にスキップされることを望んでいたテーブル (つまり、名前にトランスコードが含まれていないテーブル) については、機能するコードを書くことができましたが、完全ではありませんでした。トランスコード テーブルに存在する) それらのテーブルには存在しません。問題は、必要な場合 (条件が満たされた場合など) にのみ SQL を解析するのではなく、ストアド プロシージャが呼び出されたときにすべての SQL が解析されることです。
次のコードは期待どおりに機能します。
ただし、機能を追加しようとすると、実行されないコードからエラーが発生します。例えば
今回は、テーブル名に Transcode という単語が含まれている場合は最初の出力と同じ出力が得られますが、含まれていない場合は Ignored と表示されるのではなく、次のように表示されます。
メッセージ 207、レベル 16、状態 1、行 9
無効な列名 col3
これは、動的 SQL が解析される方法にかかっていると確信していますが、望ましくない動作です。誰もこれに遭遇したことがありますか/簡単な回避策はありますか?
私の場合、存在しない列のおかげでエラーはとにかくifステートメントと同じ効果があり、有効な行は正常に実行できたので、これは緊急ではありませんが、何かをする必要がある場合に備えて学びたいと思っていますこの動作が問題を引き起こす場合も同様です。
前もって感謝します、
JB
ps。この動作を再現するコードを以下に示します。
sql - SQLServerからすべてのビューを削除します
SQL Serverでこのステートメントを使用すると、次のようになります。
すべてのテーブルを一度に削除できることは知っています。
ビューについて同様のステートメントはありますか?幸運を祈ってこれを試しました:EXEC sp_msforeachview'DROP VIEW?' しかし、それは機能しません!
sql - sp_MSforeachtable を使用して、テーブル名を含む制約を SQL テーブルに追加する必要があります
sp_MSforeachtable を使用して、名前付きの制約を持つすべてのテーブルに新しい列を追加しようとしています。
これまでのところ、私はこれを行ってきました:
DF_TableName_Change_51EF2864 という名前の制約名を付けたい
いろいろ試してみたところ、PARSENAME(''?'',1) がテーブルの名前を教えてくれることがわかりました。これを使用して制約名を動的に構築する方法はありますか?
(それはうまくいかないようですが、私が望んでいることの感触をつかむためにそれを含めました。)
助けてくれてありがとう!