暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
openGauss的密态支持函数存储过程.docx
144
3页
2次
2023-01-06
免费下载
openGauss
的密态支持函数
/
存储过程
本期来介绍密态支持函数
/
存储过程。
openGauss 3.0.0
版本只支持
sql
PL/pgsql
两种
语言。由于密态支持存储过程中创建和执行函数
/
存储过程对用户是无感知的,因此使用
语法和非密态无区别。
gs_encrypted_proc
返回的原始数据类型。下面来看下一些示例。
创建并执行涉及加密列的函数
/
存储过程
1.
建密步骤使用
gsql
操作库和使
JDBC
操作
https://blog.csdn.net/GaussDB/article/details/124924458
2.
创建加密表。
openGauss=# CREATE TABLE creditcard_info (
id_number int,
name text,
credit_card varchar(19) encrypted with (column_encryption_key =
ImgCEK1, encryption_type = DETERMINISTIC)
) with (orientation=row);
CREATE TABLE
3.
插入数据
openGauss=# insert into creditcard_info values(1, 'Avi',
'1234567890123456');
INSERT 0 1
openGauss=# insert into creditcard_info values(2, 'Eli', '2345678901234567');
INSERT 0 1
4.
创建函数支持密态等值查询。
openGauss=# CREATE FUNCTION f_encrypt_in_sql(val1 text, val2 varchar(19))
RETURNS text AS 'SELECT name from creditcard_info where name=$1 or
credit_card=$2 LIMIT 1' LANGUAGE SQL;
CREATE FUNCTION
openGauss=# CREATE FUNCTION f_encrypt_in_plpgsql (val1 text, val2
varchar(19))
RETURNS text AS $$
DECLARE
c text;
BEGIN
SELECT into c name from creditcard_info where name=$1 or credit_card =$2
LIMIT 1;
RETURN c;
END; $$
LANGUAGE plpgsql;
CREATE FUNCTION
5.
执行函数。
openGauss=# SELECT f_encrypt_in_sql('Avi','1234567890123456');
f_encrypt_in_sql
------------------
Avi
(1 row)
openGauss=# SELECT f_encrypt_in_plpgsql('Avi',
val2=>'1234567890123456');
f_encrypt_in_plpgsql
----------------------
Avi
(1 row)
使
/
/
RETURNS
IN
OUT
使
dbe_output.print_line()
/
LANGUAGE
SQL
PL/pgSQL
C
JAVA
/
/
default
DECLARE
DECLARE
使
gs_dump
function
/
/
/
plpgsql
CREATE FUNCTION AS
CREATE FUNCTION AS
of 3
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜