yk156511 发表于 2022-1-20 15:23

数据库添加字段

在plsql 给一个表添加字段的话,有没有办法在已有建表语句情况下批量添加字段和注释。

现在直接添加因为有重复的会报错,
所以需求就是想直接添加,并且如果字段已经存在就跳过,不存在的就添加。

18382747915 发表于 2022-1-20 15:36

用脚本就OK了 ,读取所有表 然后循环添加

梓沐 发表于 2022-1-20 15:38

plsql里我记得就算报错,也可以继续执行之后的创建语句的

yk156511 发表于 2022-1-20 15:47

18382747915 发表于 2022-1-20 15:36
用脚本就OK了 ,读取所有表 然后循环添加

思路是这样,脚本要怎么写啊。

yk156511 发表于 2022-1-20 15:47

梓沐 发表于 2022-1-20 15:38
plsql里我记得就算报错,也可以继续执行之后的创建语句的

不行,会报错字段以存在,点了确定就停止执行。

18382747915 发表于 2022-1-20 15:50

本帖最后由 18382747915 于 2022-1-20 16:15 编辑

yk156511 发表于 2022-1-20 15:47
思路是这样,脚本要怎么写啊。用编程语言写啊 一个表提交一次 就不会出现这种问题

梓沐 发表于 2022-1-20 16:48

那就写个存储过程,简单方便

someonewhite 发表于 2022-1-20 22:32

先通过注释表,确定哪些表有这个字段哪些表没有字段,然后给没有这些字段的表添加。

Todd 发表于 2022-1-21 21:19

直接通过sql语句是很难判断的,
我的建议是   information_schema.columns 这个表来判断列是否存在,如果存在就不生成sql

Todd 发表于 2022-1-21 21:23

Todd 发表于 2022-1-21 21:19
直接通过sql语句是很难判断的,
我的建议是   information_schema.columns 这个表来判断列是否存在,如果 ...

ALTER TABLE table_name
ADD COLUMN IF NOT EXISTS column_name data_type constraint;
看了下,是支持IF NOT EXISTS的
https://sqlserverguides.com/postgresql-add-column/
页: [1] 2
查看完整版本: 数据库添加字段