PostgreSQL使用PL/SQL和游标实现按日期批量执行

现有的DWH系统的是按天创建数据表的,使得定期维护变得麻烦,例如每个月底需要将按当月产生的临时表archive。 方式1.批量生成SQL,按固定的日期值生成一堆SQL,SQL生成方法多样。但是需要确认全部sql是否正确。 方式2.编写PL/SQL function,使用游标方式批量执行。 drop function fun_datecursor(from_date text,to_date text,cond text); create or replace function fun_datecursor(from_date text,to_date text,cond text) returns text as $ declare cur_date refcursor; buffer text := ”; var_day date; begin open cur_date for execute ‘SELECT generate_series(”’|| from_date ||”’::date,”’|| to_date ||”’::date,”’|| cond ||”’)’; loop –开始循环 fetch cur_date into var_day; –将游标指定的值赋值给变量 if found then ————————————— …

PostgreSQL创建ReadOnly只读用户

PostgreSQL可以通过schema和table级别对数据表进行只读控制 一般会使用PostgreSQL创建只读用户,然后给予相应的只读权限方式实现 通过使用 — 创建readonly_user用户,密码为readonly_password create user readonly_user with encrypted password ‘readonly_password’; — 设置readonly_user用户为只读事务 alter user readonly_user set default_transaction_read_only=on; — 授予usage权限给到readonly_user用户 grant usage on schema “public” to readonly_user; — 将默认”public”schema下新建表的读取权限授予给readonly_user alter default privileges in schema “public” grant select on tables to readonly_user; — 授予select权限给到readonly_user用户 grant select on all tables in schema “public” to readonly_user; grant …

[VBA]Base64编码和Base64解码

VBA实现Base64编码和Base64解码,用于处理加密的URL非常方便。 VBA Base64 编码/加密函数: ‘VBA Base64 编码/加密函数: Function Base64Encode(StrA As String) As String ‘Base64 编码 On Error GoTo over ‘排错 Dim buf() As Byte, length As Long, mods As Long Dim Str() As Byte Dim i, kk As Integer kk = Len(StrA) – 1 ReDim Str(kk) For i = 0 To kk Str(i) = Asc(Mid(StrA, …