数据库骚操作——Z表创建
【Z表简介】
金蝶云星空中业务对象内码获取的方式有如下两种:
1、整数型的内码,绝大部分是通过一个包含自增列(列名统一为id)的z_开头的表来实现的,如科目多语言表t_bd_account_l对应的z表为z_bd_account_l;当然也有例外如T_BD_MATERIALGROUPLEVEL及其他分组级次表的主键是直接利用自增列来生成内码的。
2、字符型的内码,通过newid()生成唯一的guid作为内码,比如报表T_KDS_RPT或者辅助资料类别T_BAS_ASSISTANTDATA。
【Z表生成时机】
部分表创建数据中心的时候已经生成,但是,也有一部分的表要等到第一次使用的时候系统才生成,如初始核算数据明细表Z_HS_INITCALCULATEENTRY空白账套是没有这个表的
【如何生成Z表】
如果不是通过数据库直接操作,是不需要担心Z表不存在的,因为不存在时系统会自动生成。当系统中不存在Z表又需要通过数据库直接获取Z表的内码的时候,才需要自己创建。比如我们的【金蝶云星空专项服务工具】的数据结转(https://kdcsrv.ik3cloud.com/)工具,自动生成初始核算数据,如果操作的数据中心没有做过核算数据录入,那么我们就需要自己创建Z_HS_INITCALCULATEENTRY了。
以下是创建Z表的脚本,只需要替换@ftablename参数即可执行,并且只有在Z表不存在时创建。
declare @sql nvarchar(max)
declare @ftablename nvarchar(100)
set @ftablename='z_bd_account_L'
set @sql=
'if not exists (select 1 from sys.tables where name='''+@ftablename+''')
CREATE TABLE [dbo].['+@ftablename+'](
[Id] [bigint] IDENTITY(100001,1) NOT NULL,
[Column1] [int] NOT NULL,
CONSTRAINT [P'+@ftablename+'] PRIMARY KEY CLUSTERED ([Id] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]'
exec (@sql)
感谢分享;补充下,基础资料共用同一个Z表:Z_BAS_ITEM
学习
数据库骚操作——Z表创建
本文2024-09-16 18:42:52发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-23927.html