1、通过Sql语句,然后使用Docmd.runsql 或Currentdb.Execute 执行Sql语句批量拆分
2、通过DAO或ADO 使用Recordset记录集来循环插入,这个需要懂VBA代码及Do while循环
希望可帮到你
SELECT REGEXP_SUBSTR(t.PATH_IDS||',', '[^,]+', 1, 1),REGEXP_SUBSTR(t.PATH_IDS||',', '[^,]+', 1, 2),
REGEXP_SUBSTR(t.PATH_IDS||',', '[^,]+', 1, 3),
DECODE(REGEXP_SUBSTR(t.PATH_IDS||',', '[^,]+', 1, 5), NULL, NULL, REGEXP_SUBSTR(t.PATH_IDS||',', '[^,]+', 1, 4)),
DECODE(REGEXP_SUBSTR(t.PATH_IDS||',', '[^,]+', 1, 5), NULL, REGEXP_SUBSTR(t.PATH_IDS||',', '[^,]+', 1, 4), REGEXP_SUBSTR(t.PATH_IDS||',', '[^,]+', 1, 5))
FROM 机构层级关系表 t
前三列根据正则匹配,获取对应的分割后的值,没有啥讲的,
第四列要判断是否存在第五列,如果不存在,则第四列要空,存在则用第四列的值
第五列要判断是否存在第五列,如果不存在,则给第四列的值,存在则用第五列的值
1、首先需要sys或system权限 *** 作
2、查询需要更改表的ID
select object_id from all_objects where owner = 'ITHOME'
and object_name = 'TEST'1234
注:ITHOME为用户,TEST是要更改的表,表名要大写
3、通过ID查出该表所有字段的顺序
select obj#, col#, name
from sys.col$
where obj# = '103756' order by col#123
4、修改顺序
update sys.col$ set col#=2 where obj#=103756 and name='AGE'update sys.col$ set col#=3 where obj#=103756 and name='NAME'12
或直接在第三步的语句后面加 for update 进行修改
最后commit提交 并且重启Oracle服务
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)