我试图从一个表中计算“已批准”项目的数量,并在另一个表中显示此数量。比如进度条。为了做到这一点,我做了一个触发器,但它不工作。
BEGIN
SELECT value FROM STRING_SPLIT(NEW.size,'|')
@len = sp_spaceused value
WHILE @len > 0
BEGIN
UPDATE size_control_men
SET number_of_approved_items = number_of_approved_items +1
WHERE Size_MEN = NEW.size
@len = @len - 1;
END
END
首先,我把尺寸(size)用这种格式排成一行- 45|43|42
所以我必须在一个循环中,在 BEGIN SELECT value FROM STRING_SPLIT(NEW.size,'|') @len = sp_spaceused value
我确实计算了它们的数量,然后在一个循环中我增加了“批准”项目的数量。
但这个触发器根本不起作用:(
此触发器添加到表调度:
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | MUL | NULL | auto_increment |
| name | varchar(200) | YES | | NULL | |
| vendor | varchar(100) | YES | | NULL | |
| ......... |
| ......... |
| ......... |
| size | varchar(200) | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
尺寸控制
+--------------------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | MUL | NULL | auto_increment |
| Size_MEN | varchar(20) | NO | | NULL | |
| number_of_approved_items | int(5) | NO | | 0 | |
+--------------------------+-------------+------+-----+---------+----------------+
调度表示例:
以及批准项目的柜台:
暂无答案!
目前还没有任何答案,快来回答吧!