首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >触发器创建中的“SET或SET附近的语法错误”

触发器创建中的“SET或SET附近的语法错误”
EN

Stack Overflow用户
提问于 2019-06-13 02:39:01
回答 1查看 132关注 0票数 0

我有两个表(库存和productsLot),我需要一个触发器,它通过对批量(来自productsLot)的总和来计算产品的总数量(在库存表中)。

我不太了解触发器,但我的问题类似于这个Calculate column value from another column in another table。这是我的案子。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE Stock (productId INTEGER,totalQuantity INTEGER, price NUMERIC(30,2))
PRIMARY KEY (productId); 

CREATE TABLE productsLot (productId INTEGER CONSTRAINT fk_stock_productsLot REFERENCES ON Stock(productId) , lotNumber VARCHAR, lotQuantity INTEGER, expirationDate DATE, PRIMARY KEY (productId, lotNumber)); 

CREATE TRIGGER update_quantity_stock
BEFORE INSERT ON  stock SET NEW.totalQuantity = 
  (
    SELECT sum(lotQuantity)
      FROM productsLot
     WHERE productId = NEW.productId
     LIMIT 1
  ); 

我得到了一个错误:

在"SET“或”SET“附近出现语法错误

EN

回答 1

Stack Overflow用户

发布于 2019-06-13 04:28:46

很显然,这是个很愚蠢的问题,但多亏了尼克,我明白了。这是解决办法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE OR REPLACE FUNCTION update_quantity_stock()
    RETURNS trigger AS
  $$
  BEGIN
           UPDATE stock SET totalQuantity = (select sum(lotQuantity)
        FROM productsLot
       WHERE productsLot.productId=stock.productId);

      RETURN NEW;
  END;
  $$
  LANGUAGE 'plpgsql';

-触发

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TRIGGER update_quantity_stock_trigger
   AFTER INSERT
   ON productsLot
   FOR EACH ROW
   EXECUTE PROCEDURE update_quantity_stock();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56578656

复制
相关文章
java set 排序的_Set集合排序
TreeSet使用元素的自然顺序对元素进行排序,或者根据创建set时提供的Comparator进行排序,具体取决于使用的构造方法。通俗一点来说,就是可以按照排序后的列表显示,也可以按照指定的规则排序。
全栈程序员站长
2022/09/01
1.4K0
set跟map的区别_oracle set用法
5.map和set都是stl中的关联容器,map以键值对的形式存储,key=value组成pair,是一组映射关系。set只有值,可以认为只有一个数据,并且set中元素不可以重复且自动排序。
全栈程序员站长
2022/10/04
7710
Map和Set的区别_list与set的区别
Set 和 Map 主要的应用场景在于 数据重组 和 数据储存。 Set 是一种叫做 集合 的数据结构,Map 是一种叫做 字典 的数据结构。
全栈程序员站长
2022/10/04
4310
Set
Set接口中不能加入重复的元素,但可以排序 Set接口子类:  无重复:HashSet  有序:TreeSet public static void main(String args[]){ Set<String> s1 = new HashSet<String>(); s1.add("a"); s1.add("b"); s1.add("a"); System.out.println(s1);//[a b] Set<String> s2 = n
mathor
2018/06/06
8720
set集合的特点
如果新添加的元素与集合中已有的某个元素哈希值相同,此时还需要调用equals(Object obj)比较
全栈程序员站长
2022/09/05
4480
Linux的set命令
文章作者:Tyan 博客:noahsnail.com | CSDN | 简书
Tyan
2020/03/20
5.4K0
java的Set(二)
除了 Set 接口提供的方法外,Java 中还提供了三种常见的 Set 实现类,分别是 HashSet、LinkedHashSet 和 TreeSet。
堕落飞鸟
2023/04/02
6020
Vue.set() this.$set()引发的视图更新思考
引文 vue文档列表渲染中有条注意事项: 这里提到的两种情况实际改变了数据但是没有触发视图更新。 由此引出Vue.set(),先上文档API: this.$set()和Vue.set()本质方法一样,
mcq
2018/06/27
1.5K0
python set大小_python set集合
s7= {[1],(1,),1} #set的元素要求必须可以hash 列表不能hash
用户7886150
2021/01/26
1.6K0
python set大小_python set集合
s7= {[1],(1,),1} #set的元素要求必须可以hash 列表不能hash
全栈程序员站长
2022/08/27
1K0
集合 (set的练习)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
5330
java的Set(一)
Java 中的 Set 是一种集合,它继承自 Collection 接口,它用于存储不重复的元素。Java 中提供了多个 Set 实现类,包括 HashSet、LinkedHashSet、TreeSet 等。下面是一个 HashSet 的示例:
堕落飞鸟
2023/04/02
6850
this.$set()和Vue.set()
在我们使用vue进行开发的过程中,可能会遇到一种情况:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到识图上去;当我们去看vue文档时,会发现这么一句话:如果在实例创建之后添加新的属性到实例上,它不会触发识图更新。
用户1349575
2022/02/22
1.1K0
js中set和map的区别_list和set
Map对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。构造函数Map可以接受一个数组作为参数。
全栈程序员站长
2022/10/04
3.1K0
set和list转换_list和set
1、set转list:数据保持不变,顺序发生变化,可以使用Collections.sort进行排序(Collections.shuffle 随机排序,Collections.reverse 反转顺序)。
全栈程序员站长
2022/11/07
2.3K0
set和list转换_list和set
训练集(train set) 验证集(validation set) 测试集(test set)
training set是用来训练模型或确定模型参数的,如ANN中权值等; validation set是用来做模型选择(model selection),即做模型的最终优化及确定的,如ANN的结构;而 test set则纯粹是为了测试已经训练好的模型的推广能力。当然,test set这并不能保证模型的正确性,他只是说相似的数据用此模型会得出相似的结果。样本少的时候,上面的划分就不合适了。常用的是留少部分做测试集。然后对其余N个样本采用K折交叉验证法。就是将样本打乱,然后均匀分成K份,轮流选择其中K-1份训练,剩余的一份做验证,计算预测误差平方和,最后把K次的预测误差平方和再做平均作为选择最优模型结构的依据。特别的K取N,就是留一法(leave one out)。在应用中,一般只将数据集分成两类,即training set 和test set,大多数文章并不涉及validation set。
狼啸风云
2019/01/18
10.1K0
c++ set unordered_set区别
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/82468061
bear_fish
2018/09/14
4.8K0
c++ set  unordered_set区别
python set difference_python set 排除
available_id_set.difference_update(set(instances))
用户7886150
2021/01/26
6500
点击加载更多

相似问题

错误:"set“处或附近的语法错误

10

错误:"SET“处或附近的语法错误

10

SQL Update语句- "SET“附近的语法错误?

40

使用set()或{}创建set的区别

51

定义触发器时SET上的MySQL语法错误

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文