ページを表示したときにデータを選択し、「ビュー」列を更新する必要があります。これは1つのクエリでこれを行う方法ですか、別のクエリを使用する必要がありますか?1つのクエリでテーブルを更新/選択できますか?
2
A
答えて
2
をこれをしなければならないでしょうその値をユーザーに返します。
2
あなたは/トランザクションを使用する必要がしたくない場合は、あなたが最初のビュー数を更新し、選択し、ストアドプロシージャを作成することができます1つのトランザクションで二つの文で
Begin Tran
Update Pages Set Views = Views + 1 Where ID = @ID
Select Columns From Pages Where ID = @ID
Commit Tran
0
PostgreSQLのUPDATE文は、SELECT文のような結果セットを返しますRETURNING句を持っています
UPDATE mytable
SET views = 5
WHERE id = 16
RETURNING id, views, othercolumn;
私は、これはしかし、標準ではないかなり確信しています。他のデータベースがそれを実装しているかどうかはわかりません。
編集:あなたの質問に「MySQL」タグがあることに気がつきました。たぶんあなたは質問そのものに言及すべきです。それは良い一般的なデータベースの質問です - 私は他のデータベースでそれを行う方法を見たいと思います。
1
それはあなたがRDBMSを記載されている場合は、 SQL Serverを使用している役立つだろうがOUTPUT文を持っている
例
USE AdventureWorks;
GO
DECLARE @MyTestVar table (
OldScrapReasonID int NOT NULL,
NewScrapReasonID int NOT NULL,
WorkOrderID int NOT NULL,
ProductID int NOT NULL,
ProductName nvarchar(50)NOT NULL);
UPDATE Production.WorkOrder
SET ScrapReasonID = 4
OUTPUT DELETED.ScrapReasonID,
INSERTED.ScrapReasonID,
INSERTED.WorkOrderID,
INSERTED.ProductID,
p.Name
INTO @MyTestVar
FROM Production.WorkOrder AS wo
INNER JOIN Production.Product AS p
ON wo.ProductID = p.ProductID
AND wo.ScrapReasonID= 16
AND p.ProductID = 733;
SELECT OldScrapReasonID, NewScrapReasonID, WorkOrderID,
ProductID, ProductName
FROM @MyTestVar;
GO
0
私は、JavaとSQL Serverでこのトリックを使用また、あなたが2つのコマンドを送信できるようになります単一のPreparedStatementに
update tablex set y=z where a=b \r\n select a,b,y,z from tablex
これは、読者が思うように動作するためには、コミットされたトランザクションである必要があります。
関連する問題
- 1. php/mysql:テーブルから選択して1つのクエリで更新する
- 2. 1つのクエリで挿入、選択、更新する - SQL
- 3. ランダムレコードを選択し、1つのクエリで同じレコードを更新しますか?
- 4. 複数のクエリを1つのクエリで選択できますか?
- 5. 複数のテーブルを1つのクエリで更新します。
- 6. 1つのクエリで2つのテーブルを更新する
- 7. 更新クエリ内でクエリを選択しますか?
- 8. EFで1つのクエリで選択して更新する方法
- 9. この2つの選択クエリを1つにマージできますか?
- 10. 2つのテーブルから1つの列を更新するSQL更新クエリ
- 11. MySQLは複数のテーブルで1つのクエリで複数の条件を選択できますか?
- 12. 選択と行ロックでクエリを更新
- 13. テーブル全体を1つのクエリで更新する
- 14. 選択クエリを更新します。
- 15. 1つのクエリで2回選択し、
- 16. PHPで1つの選択クエリで3つのテーブルを組み合わせる
- 17. テーブルを更新してテーブル名と選択クエリにある
- 18. jooqで1つのテーブルのみを選択するには、結合付きのクエリを使用しますか?
- 19. SQL Serverの別のテーブルから更新されたデータ(値)を持つ1つのテーブルからxmlを選択
- 20. 1つのストアドプロシージャで選択して更新する
- 21. MySQL - 1つのコマンドで選択して更新する
- 22. 3つのテーブルから1つのテーブルを選択する
- 23. 1つのクエリでselect文で列を更新できますか?
- 24. テーブルを更新して1つのステートメント内で選択する方法はありますか?
- 25. 1つのクエリで子テーブルから制限された行を選択
- 26. SQLを1つのテーブルから選択してフィールドを変更し、2番目のテーブルのフィールドを更新
- 27. Sqlクエリは1時間前から選択できますか?
- 28. 1から多数のテーブルを選択できません
- 29. より安全ですか? postgresqlテーブルからの選択/更新
- 30. 1つのクエリで異なるテーブルの複数の行を選択