SQL-根据其中的条件更新相同的表
我需要写一个SP,如下所示。每秒从.net windows服务应用程序调用一次此SPSQL-根据其中的条件更新相同的表,sql,Sql,我需要写一个SP,如下所示。每秒从.net windows服务应用程序调用一次此SP SELECT TOP 1 ID FROM TABLE WHERE GETDATE() < ExpirationDate ORDER BY ID 提前感谢。这将更新您在原始脚本中返回的单行值: UPDATE [table] SET Field1 = 1, Field2 = abc WHERE ID = ( SELECT MIN(ID) FROM
SELECT TOP 1 ID
FROM TABLE
WHERE GETDATE() < ExpirationDate
ORDER BY ID
提前感谢。这将更新您在原始脚本中返回的单行值:
UPDATE [table]
SET
Field1 = 1,
Field2 = abc
WHERE ID =
(
SELECT MIN(ID)
FROM [table]
WHERE GETDATE() < ExpirationDate
)
使用更新/选择。根据SQL实例的配置方式,可能需要使用下面的第二个示例包装内部select
UPDATE [TableName] SET [TableName].fiel1= 1 , [TableName].field2 = 'abc'
FROM (
SELECT TOP 1 ID
FROM TABLE
WHERE GETDATE() < ExpirationDate
ORDER BY ID
) a
where [TableName].ID = a.ID
可能必须尝试以下方法:
UPDATE [TableName] SET [TableName].fiel1= 1 , [TableName].field2 = 'abc'
FROM (
SELECT TOP 100 PERCENT * FROM (
SELECT TOP 1 ID
FROM TABLE
WHERE GETDATE() < ExpirationDate
ORDER BY ID
) b
) a
where [TableName].ID = a.ID
您需要更全面地解释您需要什么,因为目前还不清楚。哪个DBMS、oracle、mysql或SQL server,以及您为什么要做前1名?更新表1 set col=val where getdate
UPDATE [TableName] SET [TableName].fiel1= 1 , [TableName].field2 = 'abc'
FROM (
SELECT TOP 100 PERCENT * FROM (
SELECT TOP 1 ID
FROM TABLE
WHERE GETDATE() < ExpirationDate
ORDER BY ID
) b
) a
where [TableName].ID = a.ID