INSERT查询是否有可能减去您输入的2个值以创建第3个值,然后可以将其插入表中 - 如果这有意义的话......
e.g。
INSERT INTO table1 (column1, column2, column3)
VALUES ('50', '25', column1 - column2)
答案 0 :(得分:2)
INSERT INTO table1 (column1, column2, column3)
(select ('50', '25', column1 - column2) from table1 where conditions)
这是一个示例查询!希望它有所帮助!
答案 1 :(得分:2)
螺旋型:
INSERT INTO table1 (column1,column2,column3)
select column1,column2,column1-column2
from
(select 50 as column1,
25 as column2
) t
由于您无法引用同一SELECT
子句中的其他列,因此必须将其作为子查询执行。我也转而使用int
文字而不是字符串,因为我不能让减法在我的头脑中有意义。
您也可以使用Table Value Constructor:
来完成INSERT INTO table1 (column1,column2,column3)
select column1,column2,column1-column2
from
( VALUES (50, 25)
) AS t (column1, column2);
如我的评论所示,如果关系应始终保持,我将table1构建为:
CREATE TABLE table1 (
column1 int not null,
column2 int not null,
column3 as column1 - column2
--More columns
)
因为这样,column3
值始终是正确的。
答案 2 :(得分:1)
您可以创建减去值的函数并在insert中使用此函数。这是做这些事情的正确方法:
INSERT INTO table1 (column1, column2, column3)
(select ('50', '25', your_function() ) from table1 where conditions)
/
答案 3 :(得分:1)
使用“INSERT INTO”可以执行此操作:
INSERT INTO Table1Name (column1, column2, column3,)
(select 'X', 'Y', X - Y as Z)
这是一个link到SQL权限,有更多INSERT INTO
的例子答案 4 :(得分:0)
另一种方法是向表中添加一个触发器,在插入数据时,第三列将使用前两列的差异进行更新。