我正在使用 SQL Server 2012 并正在寻找具有替换变量的 Oracle 语句的转换:
UPDATE customers
SET region = '®ion'
WHERE state = '&state'
有人请帮我解决这个问题。
我正在使用 SQL Server 2012 并正在寻找具有替换变量的 Oracle 语句的转换:
UPDATE customers
SET region = '®ion'
WHERE state = '&state'
有人请帮我解决这个问题。
它会像
Declare @State varchar(100)
Declare @Region varchar(100)
UPDATE customers
SET region = @Region
WHERE state = @State
我绝不是 Oracle 专家,但我认为替代变量特定于 SQL*PLUS 而不是 Oracle 数据库。
SQL*PLUS
define region=West
define state=California
UPDATE customers
SET region = '®ion'
WHERE state = '&state'
我的理解是SQL*PLUS会执行以下SQL:
UPDATE customers
SET region = 'West'
WHERE state = 'California'
MS SQL Server 2012 中的等价物是:
Declare @Region varchar(100)
Declare @State varchar(100)
Set @Region = 'West'
Set @State = 'California'
Update Customers
Set region = @Region
Where State = @State
或者您可能会丢失所有变量并简单地使用:
Update Customers
Set Region = 'West'
Where State = 'California'
编辑:
更新仅影响当前在表中的数据。如果您稍后将更多数据添加到表中,则需要再次运行更新。
例如
添加更多带有State
“California”的行不会自动将Region
插入行的列设置为“West”。
还要确保您对在表结构中声明的变量使用相同的数据类型(和长度)。