如何用ACCESS数据库拆分数据?

如何用ACCESS数据库拆分数据?,第1张

方法一

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服务


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9904762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存