小编Vir*_*ide的帖子

使用更新或插入语句添加到整数值

我试图在 Firebird 2.5 中创建一个 SQL 语句,以便通过在记录存在时添加或简单地插入新行来更新整数数量。如果某个数量已经存在,我似乎无法找到有关添加到某个数量的具体问题的真正答案。

我能想到的 SQL 如下:

UPDATE OR INSERT INTO Pencils(Number, Location, Quantity)
VALUES('12345678/90', 'TOP', 20)
MATCHING(Number, Location);
Run Code Online (Sandbox Code Playgroud)

因此,如果有匹配的记录,我想在实际 20 数量中添加一定数量。

就像我对UPDATE声明所做的那样:

UPDATE Pencils SET Quantity = Quantity + 20 WHERE Number = '12345678/90' 
Run Code Online (Sandbox Code Playgroud)

是否有可能通过UPDATE OR INSERT语句达到这样的结果,或者还有其他方法吗?. .

编辑: 与 IBExpert/Delphi 参数一起使用的查询的解决方案

MERGE INTO Pencils AS Dest
USING (SELECT CAST(:myNumb as varchar(30))  AS Number,
              CAST(:myLoca as varchar(10))  AS Location,
              CAST(:myQuan as integer)  AS Quantity
        FROM RDB$DATABASE) Src
    ON (Dest.Number = Src.Number AND Dest.Location …
Run Code Online (Sandbox Code Playgroud)

sql firebird firebird2.5

3
推荐指数
1
解决办法
84
查看次数

标签 统计

firebird ×1

firebird2.5 ×1

sql ×1