在pgsql库用触发器自动触发PostgreSQL的存储过程,实现插入。

需求:在对表A 执行 insert操作时,筛选符合条件的数据 insert到表B中,编写为存储过程(postgreSQL数据库)

[筛选条件]:
  1. dd !=“A” 或是 dd为 null;
  2. aa 字段第【3】位="5"或=“6”;
  3. 满足条件1不满足2的数据将字段 aa、bb、cc插入表 B;
    满足条件1和2的数据将字段 aa、bb、cc、dd="1"插入表 B。

1、创建A表:

create table A(
	aa         VARCHAR(50) NOT NULL,
    bb         VARCHAR(50) NOT NULL,
    cc         VARCHAR(3)  NOT NULL, 
    dd         VARCHAR(1)
);

2、创建B表:

create table B(
	aa        VARCHAR(50) NOT NULL,
	bb        VARCHAR(50) NOT NULL,
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: MySQLPostgreSQL存储过程中对变量使用的区别主要体现在语法上。 MySQL使用DECLARE语句定义变量,并使用SET语句赋值。例如: ``` DECLARE var_name INT; SET var_name = 5; ``` PostgreSQL使用DECLARE语句定义变量,并使用:=赋值。例如: ``` DECLARE var_name INT; var_name := 5; ``` 在MySQL中,存储过程语言和SQL语言比较相似,它支持循环、判断和游标等结构。而PostgreSQL存储过程语言比较类似于PL/SQL语言,支持块级结构和异常处理。 总的来说, 两者都可以实现相同的功能,但是使用语法不同。 ### 回答2: MySQLPostgreSQL是两种常见的关系型数据库,它们在存储过程中对变量使用的方式有一些区别。 在MySQL中,变量定义使用的是DECLARE关键字。在存储过程中,可以使用用户自定义变量,通过声明变量名和类型来定义。变量在DECLARE语句之后进初始化,在存储过程中可以使用SET语句来赋值或修改变量的值。MySQL存储过程中,变量的作用域只在当前存储过程内。 而在PostgreSQL中,变量定义使用的是简单的:=运算符。在存储过程中,可以使用PL/pgSQL语法创建和使用变量。变量在声明时可以指定类型,也可以根据赋值的情况自动推断类型。在存储过程中,变量的作用域可以是整个函数块,也可以是函数内的一个特定区域。 此外,PostgreSQL还支持更复杂的数据类型,如数组和记录类型,并且可以在存储过程使用这些类型的变量。而MySQL对于存储过程中的变量类型支持相对简单,通常只支持基本的数值和字符串类型。 总结来说,MySQLPostgreSQL存储过程中对变量的使用方式有些许差异。MySQL使用DECLARE关键字进变量定义,变量的作用域只在当前存储过程内;而PostgreSQL使用简单的:=运算符进变量定义,变量的作用域可以是整个函数块。此外,PostgreSQL还支持更复杂的数据类型,而MySQL对于变量类型的支持相对较简单。 ### 回答3: MySQLPostgreSQL存储过程上对变量使用的区别有以下几点: 1. 变量类型:MySQL支持多种类型的变量,包括整数、浮点数、字符串、日期等,可以直接定义和使用;而PostgreSQL则需要使用特殊的语法来声明和使用变量。 2. 变量作用域:MySQL存储过程中的变量作用域只限于当前会话,即在存储过程中声明的变量只在该存储过程中有效;而PostgreSQL存储过程中的变量作用域可以更广泛,可以在整个函数体内部使用。 3. 变量赋值:MySQL中可以使用SET语句来给变量赋值,也可以在声明变量时直接赋初值;而在PostgreSQL中,需要使用SELECT INTO语句或者使用:=运算符来给变量赋值。 4. 变量引用:MySQL中可以直接使用变量名进引用,类似于普通的变量使用;而在PostgreSQL中,需要使用特殊的语法来引用变量,以区分普通的列名或者字段名。 5. 变量作为参数传递:在MySQL中,存储过程的参数可以直接使用变量来代替;而在PostgreSQL中,需要使用特殊的语法来传递和使用变量作为参数。 综上所述,MySQLPostgreSQL存储过程上对变量使用的区别主要体现在变量类型、作用域、赋值、引用和作为参数传递等方面。了解这些差异有助于开发人员在使用存储过程时正确、高效地使用变量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值