在SQL SERVER 2014表上应用条件

时间:2015-05-28 17:51:08

标签: mysql

我正在制作一个包含医疗公司财务信息的表格,我想设置由“分期付款”列确定的financialApproval列的值,以便如果分期付款列值>> =( 0.5 * TotalPrice然后将financialApproval列设置为批准。

SELECT trainnumber, departure, arrival, departuretime, arrivaltime FROM TrainInfo JOIN Journey ON TrainInfo.journey_journeyid = Journey.journeyid ORDER BY departure;

任何建议

2 个答案:

答案 0 :(得分:0)

https://msdn.microsoft.com/en-ca/library/ms188300.aspx是我相信你正在寻找的东西。可以将计算列设置为基于其他列的计算。

答案 1 :(得分:0)

尝试使用触发器:http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm

在其中你也可以调用存储过程 我想出了一个例子,idk如果有效(但应该):

 DROP TRIGGER IF EXISTS `TRG_financialApproval`;
 DELIMITER $$
 CREATE TRIGGER `TRG_financialApproval` AFTER INSERT ON `FinancialDpt`
  FOR EACH ROW 
  BEGIN
DECLARE amount DECIMAL(4,4);
SELECT CK_Instalment INTO @amount FROM `FinancialDpt` f WHERE        f.`CK_Instalment`>=0.5*f.TotalPrice;
IF @amount>0 THEN
    UPDATE `FinancialDpt` SET `FinancialApproval`='approve' WHERE `FinancialDpt`.OrderID=NEW.`id_place`;
END$$
DELIMITER ;
;