問題タブ [sqltransaction]
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.
.net - TransactionScope/SqlTransactionタイムアウト拡張
トランザクションが開始されたら、(SQL Serverを使用して)トランザクションのタイムアウトを延長することは可能ですか?
c# - C#TransactionManager
こんにちは私はデータベースによって構造化された自動コード(すべてのget、setなどを作成する)を作成したジェネレーターを持っています。このコードには次のようなコードがあります。
using System.Transactions;
コードジェネレーターがこれを行ったことがないため、参照を追加し、ファイルの先頭に手動でインポートしました。TransactionManager error
インポートすると、これにより取得していたものが削除されました.GetTransaction();
が、調査した結果からエラーが発生しました。そのような方法はありませんTransactionManager
。
誰かがこのコードの代わりに何をすべきかについて何か手がかりを持っていますか(ジェネレーターにはエラーのために置き換える必要のあるコードがあります、私の推測ではこれはそれらのケースの1つです...)。任意の提案をいただければ幸いです!前もって感謝します!
sql - SQLの「DELETE」ステートメントとそれに続く「WHERENOTIN」ステートメントを同じトランザクションに含めることはできますか?
次のSQLブロックがある場合(SQL SERVER 2008 R2):
fooDataから削除されたデータが2回目の削除で表示されるようにするには、ステートメント間で明示的なCOMMITを実行する必要があると想定しています。これは正しいです?理想的には、これらすべてを1つのトランザクションにまとめたいと思います。例:
私の恐れは、2番目のステートメントが最初の削除されたデータを取得しないことです。これはストアドプロシージャの一部であるため、リターンがあります。削除のカスケードや結合には興味がありません。この方法には多少の制約があります。
mysql - 再帰的/ネストされたトランザクション
2つのストアドプロシージャA、Bがあり、どちらもトランザクションブロックにあります。問題は、AがBを呼び出すことです。したがって、再帰的/ネストされたトランザクションがあります。問題があるかわかりませんか?Aに電話するとどうなりますか?
「MySQLストアドプロシージャプログラミング」から引用:
START TRANSACTION
新しいトランザクションの開始を意味します。既存のトランザクションがすでに進行中の場合START TRANSACTION
は、暗黙的にを発行しCOMMIT
ます。を発行するSTART TRANSACTION
と、autocommitプロパティ(次のセクションで説明)は、トランザクションが終了するまで、効果的かつ暗黙的に0に設定されます。コードを読んだり保守したりする人には暗黙的ではない可能性があるSTART TRANSACTION
ため、ステートメントの前に既存のトランザクションを明示的にコミットまたはロールバックすることをお勧めします。COMMIT
sql - SQL更新前に存在するかどうかを確認します
こんにちはすべて更新が完了する前に、データベースにpappssnが存在するかどうかを確認する方法の例を見てみたいと思います。その場合、エラーレコードが存在します。私のフロントエンドはVBですが、可能であれば、ストアドプロシージャのSQL内でこれを処理したいと思います。何か案は?
.net - SqlTransaction とネストされたトランザクション
SqlTransaction クラスでネストされたトランザクションを作成することは可能ですか? もしそうなら、私が知っておく必要がある規則/制限は何ですか?
sql - デッドロックイベントでSQLプロファイラートレースファイルを使用するにはどうすればよいですか?
私はSQLプロファイラーを使用するのはまったく初めてです。アプリケーションにSQLバックエンドで実行されるシナリオがあり、同じ場所でデッドロックが発生し続けます。とても簡単に再現できます。リンクSQLプロファイラーの手順を使用して、SQLプロファイラーのデッドロックイベントグラフを取得することができました。別のファイルにエクスポートすることもできます。
しかし、このプロファイラーには、「サーバープロセスID」、「イベントID」、「実行コンテキストID」、「ページロック:」、「DB ID」、「ファイルID」、「ページID」、「関連付けられたオブジェクトID」などが表示されます。などなど。しかし、これをどのように使用して、デッドロックの正確な原因を知ることができるかわかりません。私のアプリケーションには、クリアする必要のあるバグがあると確信しています。しかし、どうすればこのトレースを使用して根本原因を突き止め、背景を理解できますか。この分析を手伝ってください。あなたが私に役立つと思うどんな種類の詳細やリンクも教えてください。アドバイスと時間をありがとうございました。
sql - 条件付き SQL トリガー?
レコードのステータスが最後に記録されたステータスと異なる場合にのみ機能する更新トリガーを作成する必要があります。
だから私は今これを持っています:
しかし、tblHistorySource.statusがdelete.statusと等しくないかどうかを確認してから、データをコピーする必要があります....
sql - SQL トリガー - 削除または更新されましたか? それとも何か他のものですか?
ここで使用する必要があるものを見つけようとしています:削除、挿入、または更新。
基本的。
メインテーブルが更新され、ステータスが保留中またはアクティブに変化した場合にのみ、履歴テーブルにデータを書き込む必要があります。
これは私が今持っているものです:
だから私は新しいデータをメインテーブルに残し、履歴テーブルを上書きされたもので更新したい...今は同じ情報をコピーするだけです。したがって、更新後、両方のテーブルに同じデータがあります。
c# - SQL Server 2005 で複数のトランザクションを管理する方法
SQL Server 2005 バックエンドを使用して C# でデスクトップ アプリケーションを開発しています。
2 つのテーブルに行を挿入したいのですが、table1
1 つの行table2
が保存され、一度に 100 行を超える行が保存されます。
保存が行われている間、またはその間に電源が落ちた場合、または何らかの理由でプログラムが終了した場合、その不完全なトランザクションをデータベースに保存しないでください。ただし、トランザクションが正常に完了した場合は、データベースに保存する必要があります。
Connection.BeginTransaction()
メソッドを使用しています
clsData
、 、のようSqlConnection
にいくつかの変数が宣言されているクラスであり、呼び出される varがこのクラス
で宣言され、接続を開くメソッドがこのクラスで宣言されています。SqlCommand
SqlAdapter
Connection
Open()
難点は、10 ~ 20 個のコマンドを実行した後、tr.Connection
突然 null になり、接続がまだ開いていることです。
誰でもこの問題について私を助けることができます。