Tag: sql

Oracle:如何UPSERT(更新或插入表)?

UPSERT操作可以更新或在表中插入一行,具体取决于表中是否有一行与数据匹配的行: if table t has a row exists that has key X: update t set mystuff… where mykey=X else insert into t mystuff… 由于Oracle没有特定的UPSERT语句,最好的办法是什么?

如何选择SQL数据库表中的第n行?

我有兴趣学习一些(理想的)数据库不可知的方式从数据库表中选择第n行。 看看如何使用下列数据库的本地功能来实现这一点也是有趣的: SQL Server MySQL的 PostgreSQL的 SQLite的 神谕 我目前正在做类似于SQL Server 2005中的以下内容,但我有兴趣查看其他更多不可知的方法: WITH Ordered AS ( SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate FROM Orders) SELECT * FROM Ordered WHERE RowNumber = 1000000 为上述SQL信誉: Firoz Ansari的博客 更新:请参阅Troels Arvin关于SQL标准的回答 。 Troels,你有没有我们可以引用的链接?

使用连接的SQL更新查询

我必须更新一个由3个表连接返回的值的字段。 例: select im.itemid ,im.sku as iSku ,gm.SKU as GSKU ,mm.ManufacturerId as ManuId ,mm.ManufacturerName ,im.mf_item_number ,mm.ManufacturerID from item_master im, group_master gm, Manufacturer_Master mm where im.mf_item_number like 'STA%' and im.sku=gm.sku and gm.ManufacturerID = mm.ManufacturerID and gm.manufacturerID=34 我想更新表item_master的mf_item_number字段值与在上述条件下加入的其他值。 我如何在MS SQL Server中执行此操作?