银泰商业

使用 PolarDB PostgreSQL版(兼容Oracle)后,存储过程可以通过ADAM(Advanced Database&Application Migration)的工具,较快地完成Oracle存储过程到 PolarDB PostgreSQL版(兼容Oracle)的迁移。应用只需要修改数据库连接地址和数据库...

用户定义的 PL/SQL 子类型

您可以在PL函数、存储过程、匿名块或包的声明定义子类型。语法如下:SUBTYPE subtype_name IS type_name[(constraint)][NOT NULL]其中constraint为:{precision[,scale]}|length 其中:subtype_name:subtype_name指定子类型的名称。type...

创建存储过程

通过在 PolarDB PostgreSQL版(兼容Oracle输入存储过程代码,将该存储过程存储在数据库。以下示例演示了如何在存储过程声明使用 AUTHID DEFINER 和 SET 子句。update_salary 存储过程将定义了该存储过程的角色的特权传递给正在调用...

CREATE PROCEDURE

只有 PolarDB PostgreSQL版(兼容Oracle存储过程支持 IMMUTABLE、STABLE、STRICT、LEAKPROOF、COST、ROWS 及 PARALLEL { UNSAFE|RESTRICTED|SAFE } 属性。默认情况下存储过程创建为 SECURITY DEFINERS。在 plpgsql 定义的存储过程创建...

内置的安全审计规则

CMDSHELL执行系统命令(SQLServer语法)高 存储过程滥用 执行危险的操作,存储过程XP_SENDMAIL(SQLServer语法)高 存储过程滥用 执行危险的操作,存储过程XP_RUNWEBTASK(SQLServer语法)高 存储过程滥用 执行危险的操作,存储过程XP_...

步骤八:验证数据

SELECT*FROM dataphin_tutorial.product WHERE product_id IS NOT NULL;编写以下命令后,单击页面上方的 运行,验证 产品维度逻辑表 数据。SELECT*FROM LD_dataphin_tutorial.dim_products WHERE ds IS NOT NULL;编写以下命令后,单击页面...

步骤八:验证数据

SELECT*FROM dataphin_tutorial.product WHERE product_id IS NOT NULL;编写以下命令后,单击页面上方的 运行,验证 产品维度逻辑表 数据。SELECT*FROM LD_dataphin_tutorial.dim_products WHERE ds IS NOT NULL;编写以下命令后,单击页面...

比较运算符

safe equal to operator>Greater than operator>=Greater than or equal operator IS Test a value against a boolean IS NOT Test a value against a boolean IS NOT NULL NOT NULL value test IS NULL NULL value test...

行列转换

结果:列转行 方法一:通过UNION语句 SELECT username,subject,score FROM(SELECT username,'语文' AS subject,yuwen AS score FROM unpivot WHERE yuwen is not null UNION SELECT username,'数学' AS subject,shuxue AS score FROM ...

创建函数

CALLED ON NULL INPUT RETURNS NULL ON NULL INPUT STRICT CALLED ON NULL INPUT(默认值)指示当存储过程的某些参数为 NULL 时,将正常调用该存储过程。如果需要,作者需要负责检查 NULL 值并做出适当的响应。RETURNS NULL ON NULL INPUT ...

OceanBase 数据库 Oracle 租户至 Oracle 数据库的同步...

同步 DDL 支持的范围 创建表 CREATE TABLE 重要 包括分区表,不包括 ...如果 OceanBase 数据库 Oracle 租户仅存在 NOT NULL UK,则不支持导致 OceanBase 数据库失去 NOT NULL UK 的 DDL 操作。存在 CASE WHEN INDEX 的建表 DDL 不支持同步。

COMMON TABLE EXPRESSION(CTE)

b.value from(select*from src where key is not null)a left outer join(select*from src3 where value>0)b on a.key=b.key and b.key is not null)d;顶层的 union 两侧各为一个 join,join 的左表是相同的查询语句。通过写子查询的方式,...

COMMON TABLE EXPRESSION(CTE)

b.value from(select*from src where key is not null)a left outer join(select*from src3 where value>0)b on a.key=b.key and b.key is not null)d;顶层的 union 两侧各为一个 join,join 的左表是相同的查询语句。通过写子查询的方式,...

CREATE FUNCTION

CALLED ON NULL INPUT/RETURNS NULL ON NULL INPUT/STRICT CALLED ON NULL INPUT(默认值)指示当存储过程的某些参数为 NULL 时,将正常调用该存储过程。如果需要,作者需要负责检查 NULL 值并做出适当的响应。RETURNS NULL ON NULL INPUT ...

DROP PROCEDURE

PolarDB PostgreSQL版(兼容Oracle)允许重载存储过程名称,因此在 PolarDB PostgreSQL版(兼容Oracle,重载存储过程的 DROP PROCEDURE 命令需要使用输入参数数据类型给定的存储过程特征。使用 IFEXISTS、CASCADE 或 RESTRICT 与 ...

存储过程

在7.0版本,您可以直接在存储过程中控制事务。Oracle等传统数仓的业务迁移至 AnalyticDB PostgreSQL版 时,可以直接使用存储过程功能,不需要改造业务SQL。存储过程的特性 AnalyticDB PostgreSQL 7.0版 的内核版本升级至PostgreSQL 12,...

集合变量的赋值

显示结果如下:nt is null.nt is not null.nt is null.DO 关联数组变量永远不会为NULL,因此将NULL赋值给关联数组变量会直接报错。DECLARE TYPE aarray_type IS TABLE OF INT INDEX BY VARCHAR(10);aarray aarray_type:=NULL;赋值为 NULL ...

使用 RETURNING INTO 子句

以下是此存储过程的输出(假定 emp_insert 存储过程创建的员工 9503 仍存在于表)。EXEC emp_comp_update(9503,6540,1200);Updated Employee#:9503 Name:PETERSON Job:ANALYST Department:40 New Salary:6540.00 New Commission:1200.00 ...

异常处理

默认情况下,SPL 程序发生的任何错误都会中止该程序的执行。通过使用带有 EXCEPTION 部分的 BEGIN 块,您可以捕获错误并从中...此外,对于 Oracle 数据库,INVALID_NUMBER 异常只适用于 SQL 语句,而VALUE_ERROR 异常只适用于存储过程语句。

安全性示例

在此示例,将使用存储过程list_emp、函数hire_clerk和包emp_admin。同时,将删除在安装示例应用程序时授予的所有默认特权,然后重新显式授予以提供更安全的环境。程序list_emp和hire_clerk将从默认的定义者的权限更改为调用者的权限。...

IF-THEN-ELSE

Test whether or not the employee gets a commission-IF v_comm IS NOT NULL AND v_comm>0 THEN DBMS_OUTPUT.PUT_LINE(v_empno|' '|TO_CHAR(v_comm,'$99999.99'));ELSE DBMS_OUTPUT.PUT_LINE(v_empno|' '|'Non-commission');END IF;END ...

TPC-H测试

discount` decimal(15,2)NOT NULL,`l_tax` decimal(15,2)NOT NULL,`l_returnflag` varchar(1)NOT NULL,`l_linestatus` varchar(1)NOT NULL,`l_shipdate` date NOT NULL,`l_commitdate` date NOT NULL,`l_receiptdate` date NOT NULL,`l_...

自建Oracle迁移至PolarDB PostgreSQL版(兼容Oracle

源自建Oracle的CHECK约束迁移到目标 PolarDB PostgreSQL版(兼容Oracle)集群后,会转换成NOT NULL约束。需确保源库和目标库的字符集兼容,否则可能会导致数据不一致或任务失败。建议使用DTS的库表结构迁移功能,否则可能会因为数据类型不...

TPC-H测试

discount` decimal(15,2)NOT NULL,`l_tax` decimal(15,2)NOT NULL,`l_returnflag` varchar(1)NOT NULL,`l_linestatus` varchar(1)NOT NULL,`l_shipdate` date NOT NULL,`l_commitdate` date NOT NULL,`l_receiptdate` date NOT NULL,`l_...

从Amazon RDS Oracle迁移至PolarDB PostgreSQL版...

源自建Oracle的CHECK约束迁移到目标 PolarDB PostgreSQL版(兼容Oracle)集群后,会转换成NOT NULL约束。需确保源库和目标库的字符集兼容,否则可能会导致数据不一致或任务失败。建议使用DTS的库表结构迁移功能,否则可能会因为数据类型不...

CREATE TABLE

NULL约束的校验方式取决于存储引擎的校验规则,不同存储引擎的校验规则不同,因此在使用过程中可能会出现已指定NOT NULL但仍可写入NULL的情况。为保证数据能够正常写入,请遵循以下统一要求:主键列不允许为空,即在建表时,主键列必须指定...

Sequence Engine

`start` bigint(21)NOT NULL COMMENT 'start value',`increment` bigint(21)NOT NULL COMMENT 'increment value',`cache` bigint(21)NOT NULL COMMENT 'cache size',`cycle` bigint(21)NOT NULL COMMENT 'cycle state',`round` bigint(21)...

存储过程中使用holdable cursor

背景信息 在存储过程中使用动态游标时,PostgreSQL原生不支持将动态游标设置为holdable模式(非存储过程中支持),如果在存储过程中打开一个动态游标并执行事务修改保存操作后,再次尝试获取数据将会报错,因为进行事务保存操作时当前事务...

存储过程中使用holdable cursor

背景信息 在存储过程中使用动态游标时,PostgreSQL原生不支持将动态游标设置为holdable模式(非存储过程中支持),如果在存储过程中打开一个动态游标并执行事务修改保存操作后,再次尝试获取数据将会报错,因为进行事务保存操作时当前事务...

Teradata应用迁移至AnalyticDB PostgreSQL

云原生数据仓库PostgreSQL版的建表语句如下:CREATE TABLE test_table(first_column DATE NOT NULL,second_column INTEGER NOT NULL,third_column CHAR(6)NOT NULL,fourth_column CHAR(20)NOT NULL,fifth_column CHAR(1)NOT NULL,sixth_...

DTS任务配置ETL典型应用

但是仍然会出现不可避免的数据不兼容,比如MySQL同步到Oracle,源实例 varchar(10)NOT NULL 列的空字符串无法写入目标实例的非空列,因为Oracle会将空字符串等同于NULL。将会导致同步中断。此类问题不能简单地跳过数据,因为会造成数据不...

基于Flink+Hologres搭建实时数仓

CREATE TABLE `orders`(order_id bigint not null primary key,user_id varchar(50)not null,shop_id bigint not null,product_id bigint not null,buy_fee numeric(20,2)not null,create_time timestamp not null,update_time timestamp ...

DBMS_JOB

创建一个名为 job_proc 的存储过程,示例如下:CREATE PROCEDURE job_proc IS BEGIN INSERT INTO jobrun(runtime)VALUES('job_proc run at '|TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss'));END;删除插件 警告 删除插件时会删除所有已有的用户...

Oracle Golden Gate

checkpoint表 CREATE TABLE `ckpt1220_lox`(`group_name` varchar(8)NOT NULL,`group_key` decimal(19,0)NOT NULL,`log_cmplt_csn` varchar(128)NOT NULL,`log_cmplt_xids_seq` decimal(5,0)NOT NULL,`log_cmplt_xids` varchar(2000)NOT ...

CREATE TABLE

ename VARCHAR2(10),job VARCHAR2(9),mgr NUMBER(4),hiredate DATE,sal NUMBER(7,2),comm NUMBER(7,2),deptno NUMBER(2)CONSTRAINT emp_ref_dept_fk REFERENCES dept(deptno),CONSTRAINT new_emp_ck CHECK(ename IS NOT NULL AND empno>...

CREATE TABLE

参与Join的两个表,按相同的分布键(Join列)进行数据分布,使得两个表相同键值的数据被分布到同一分片,可直接在同一分片进行Join操作,无需在分片之间进行数据传输,能够有效减少查询过程中的数据重分布,提升查询性能。例如,需要按照...

GRANT on Database Objects

这是因为在 Oracle ,所有程序共享同一个命名空间,而在 PolarDB PostgreSQL版(兼容Oracle,函数、存储过程和包具有它们自己的单独命名空间,从而在某种程度上允许重载程序名称。ALL PRIVILEGES 一次性授予所有可用特权。其他命令...

ROLLBACK

中止当前事务。语法 ROLLBACK[WORK]说明 ROLLBACK 回滚当前事务并导致废弃对事务执行的所有更新。...注意 如果运行时堆栈中存在 Oracle 样式的 SPL 存储过程,则在 plpgsql 过程中执行 ROLLBACK 会引发错误。示例 中止所有更改:ROLLBACK;

系统运算符(2.0版)

IS NULL和IS NOT NULL IS NULL 和 IS NOT NULL 运算符用于测试值是否为NULL(未定义)。这两个运算符对所有数据类型有效。用 IS NULL 判断 NULL 值会返回 TRUE:select NULL IS NULL;true 但是其他任务非 NULL 值都会返回 FALSE,示例如下...

功能支持

HAVING INTERSECT SELECT ACCOUNT FROM table_name WHERE col1 IS NOT NULL EXCEPT SELECT ACCOUNT FROM table_name WHERE ciphertext_col1>ciphertext_col2 LIMIT 1;EXCEPT UNION LIMIT OFFSET 索引加速 全密态数据库支持在加密列建立索引...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
文件存储 CPFS 对象存储 云存储网关 弹性公网IP 短信服务 人工智能平台 PAI
新人特惠 爆款特惠 最新活动 免费试用