这个序列和上面触发器代码组合,有什么语法错误
时间: 2024-03-14 13:46:34 浏览: 25
在语法上,序列创建语句和触发器代码是正确的。但是,如果将这两个代码片段结合使用,就会出现一个问题。在触发器代码中,使用了 `card_number_incremental.NEXTVAL` 来获取下一个卡号。但是,序列的名称是 `card_number_incremental`,而不是 `card_number_incremental.NEXTVAL`。因此,需要将触发器代码中的 `card_number_incremental.NEXTVAL` 改为 `card_number_incremental.nextval`。
下面是修改后的触发器代码:
```sql
CREATE OR REPLACE TRIGGER produce_vip_card
AFTER INSERT ON vip_customer
FOR EACH ROW
DECLARE
deposit NUMBER;
BEGIN
CASE :new.level_of_membership
WHEN '1' THEN deposit := 200;
WHEN '2' THEN deposit := 300;
WHEN '3' THEN deposit := 500;
END CASE;
INSERT INTO vip_card(margin, card_number, registry_date, phone_number)
VALUES (deposit, card_number_incremental.nextval, to_char(sysdate, 'YY/MM/DD'), :new.phone_number);
END;
/
```
需要注意的是,序列名称应该与实际的序列名称保持一致。如果序列名称不正确,那么在插入新行时就会出现错误。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)