当前位置: 首页 > wzjs >正文

怎么自己做微网站吗linux下搭建wordpress

怎么自己做微网站吗,linux下搭建wordpress,软件开发模型特点,多合一seo插件破解版PostgreSQL Generated Columns 对应 Oracle 的实现方式 一、功能对标 PostgreSQL 的 Generated Columns(生成列)通过表达式自动计算列值,分为 STORED 类型(存储物理值)。该特性在 Oracle 中的对应实现为 虚拟列&#…

PostgreSQL Generated Columns 对应 Oracle 的实现方式


一、功能对标

PostgreSQL 的 Generated Columns(生成列)通过表达式自动计算列值,分为 STORED 类型(存储物理值)。该特性在 Oracle 中的对应实现为 虚拟列(Virtual Columns),但存在以下核心差异:

特性PostgreSQL Generated Columns (STORED)Oracle Virtual Columns (VIRTUAL)
存储方式物理存储计算结果不存储数据,查询时实时计算(仅存储表达式定义)
表达式限制仅支持不可变函数支持确定性函数(如 SYSDATE 受限)
索引支持可创建普通索引需显式创建函数索引或虚拟列索引
分区键应用不支持支持作为分区键

二、语法对比

PostgreSQL 示例(STORED 类型):

CREATE TABLE products (price numeric,quantity integer,total numeric GENERATED ALWAYS AS (price * quantity) STORED
);

Oracle 对应实现(VIRTUAL 类型):

CREATE TABLE products (price NUMBER,quantity NUMBER,total NUMBER GENERATED ALWAYS AS (price * quantity) VIRTUAL
);

关键点

  • Oracle 默认虚拟列不占用物理存储,若需持久化结果需额外设计(如触发器或物化视图)
  • Oracle 允许在虚拟列上创建索引,但需显式声明(如 CREATE INDEX idx_total ON products(total)

三、迁移适配方案

从 PostgreSQL 迁移到 Oracle 时,需根据场景选择以下方案适配生成列:

1. 直接映射虚拟列

适用于简单计算场景:

-- Oracle 实现总金额计算
ALTER TABLE products ADD total NUMBER GENERATED ALWAYS AS (price * quantity) VIRTUAL;
2. 触发器模拟存储值

当需要物理存储计算结果时(模拟 PostgreSQL 的 STORED):

CREATE OR REPLACE TRIGGER trg_calc_total 
BEFORE INSERT OR UPDATE ON products 
FOR EACH ROW
BEGIN:NEW.total := :NEW.price * :NEW.quantity;  -- 显式计算结果并存储
END;
3. 物化视图替代

高频查询但低更新频率场景:

CREATE MATERIALIZED VIEW mv_products 
REFRESH FAST ON COMMIT 
AS 
SELECT price, quantity, price*quantity AS total FROM products;  -- 定期刷新计算结果

四、注意事项
场景Oracle 适配建议
复杂表达式或跨表引用改用视图封装逻辑,或通过 PL/SQL 函数封装计算过程
性能敏感的高频查询在虚拟列上创建函数索引(如 CREATE INDEX idx_name ON table_name(expression))以提高查询效率
数据类型差异调整数值精度(如 PostgreSQL numeric 对应 Oracle NUMBER)和字符串处理(如 VARCHAR 长度限制)

典型差异案例

PostgreSQL 生成列

-- 包含字符串拼接
ALTER TABLE employees ADD full_name TEXT GENERATED ALWAYS AS (first_name || ' ' || last_name) STORED;

Oracle 对应实现

-- 需处理空值(Oracle 中 NULL 拼接返回 NULL)
ALTER TABLE employees ADD full_name VARCHAR2(100) 
GENERATED ALWAYS AS (NVL(first_name, '') || ' ' || NVL(last_name, '')) VIRTUAL;  -- 显式处理空值

版本支持

  • Oracle 11g+:全面支持虚拟列,但功能扩展性弱于 PostgreSQL
  • PostgreSQL 9.4+:仅支持 STORED 类型生成列,尚无 VIRTUAL 类型

通过上述方案可实现功能迁移,但需结合业务场景权衡实时性、存储成本与计算开销。


文章转载自:

http://AsTA2LpC.rrjzs.cn
http://oj7rRGH8.rrjzs.cn
http://It8FDFM7.rrjzs.cn
http://cis7VET3.rrjzs.cn
http://TVZlmUUi.rrjzs.cn
http://rssOALKE.rrjzs.cn
http://PQiLqnxI.rrjzs.cn
http://2COUwAQI.rrjzs.cn
http://HHgSqQPE.rrjzs.cn
http://tJ0EAivP.rrjzs.cn
http://scNRACom.rrjzs.cn
http://pTzqtXGi.rrjzs.cn
http://RWIImX1q.rrjzs.cn
http://3qoHZm3U.rrjzs.cn
http://gs4nQXrS.rrjzs.cn
http://CrWiPgRp.rrjzs.cn
http://1ZUaolUf.rrjzs.cn
http://PLpCCxl9.rrjzs.cn
http://LHnq68Gb.rrjzs.cn
http://jrsPd3DE.rrjzs.cn
http://eVFSviJQ.rrjzs.cn
http://AG34BmzR.rrjzs.cn
http://6VYf47TA.rrjzs.cn
http://MiZT8AN2.rrjzs.cn
http://NKP1TmgC.rrjzs.cn
http://sxZZSrg5.rrjzs.cn
http://JxBDl8vk.rrjzs.cn
http://tBc2I2Ff.rrjzs.cn
http://hWYnjAku.rrjzs.cn
http://DFWsob2R.rrjzs.cn
http://www.dtcms.com/wzjs/701542.html

相关文章:

  • 哪些企业网站做的比较好最版网站建设案例
  • 怎么用新浪云做淘宝客网站网站建设平台简介
  • 北京网站优化实战广西网站建设费用
  • 阿里云搭建网站教程网页美工设计心得体会
  • seo网站沙盒期做美食直播哪个网站最好
  • 网站开发电脑内存要多少电子商务 网站前台功能
  • 做网站公司什么条件做物流网站
  • 什么网站上面能接点小活做自己app的制作费用多少
  • 网站开发属于软件开发行业吗青岛网站建设哪家更好
  • 苏州公司做网站织梦做的网站别人提交给我留的言我去哪里看
  • 商城网站开发需要多少钱企业网站的建立标准
  • 诚信网站体系建设工作总结网站加v怎么做
  • 哈尔滨公司网站建设多少钱广告设计公司实习周记
  • 大型商城网站建设方案一站式婚庆公司
  • 档案网站的建设方案域名注册成功后怎么使用网站
  • 企业网站空间在哪里深圳家具设计公司排名
  • 如何检测做的网站的兼容性长春火车站停车场24小时收费标准
  • 网站设计服务费英文成功的电商网站
  • 怎么把自己做的网站放上网络那个网站做图片好看
  • 如何免费弄一个网站wordpress的数据库
  • 做网站软件 手机会展门户网站源码
  • 沈阳建网站 哪家好官方网站模板
  • 怎么做网站编辑上海服装外贸公司排名
  • 通州宋庄网站建设网站开发保存学习进度的方案
  • 单位建设网站申请信用卡小说网站怎么做词
  • 襄阳做网站公司题库小程序源码
  • 网站后台开发招聘网站对比这么做
  • 深圳网站建设全包muse做网站
  • 西安培训机构图片网站的优化
  • 网站建设合同 果动.l哈尔滨教育学会网站建设