电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

MSSQL - 仓位的标识【动态】获取仓位名称

来源:金蝶云社区作者:金蝶2024-09-164

MSSQL - 仓位的标识【动态】获取仓位名称

**最近回答了个关于即时库存的问题,一时半会没弄懂仓位获取的方式~** - 查阅了相关的资料发现大部分都是写了固定的列,不同客户可能维度的列名也不一致,可能A客户F100003,B客户100010,不同的客户可能又要重新维护一遍代码 ![image.webp](/download/01007d461fec9cdc4cb7aaf51d5055e99fd7.webp) ==整了个存储过程== ``` sql -- ============================================= -- Author:老李头 -- Create date: 2023-08-26 -- Description: 根据仓库+仓位标识动态获取仓位名称 -- EXECUTE Mindee_Proc_GetFStockLOCName_Part2 100481,100006 -- ============================================= CREATE PROCEDURE [dbo].[Mindee_Proc_GetFStockLOCName_Part2] @FSTOCKID INT --仓库标识 ,@FSTOCKLOCID int --仓位标识 AS BEGIN SET NOCOUNT ON; DECLARE @STR VARCHAR(100) -- 最终呈现字符串 ,@OUTSTR VARCHAR(100) -- 每次循环返回的仓位名称 ,@SQLStr NVARCHAR(MAX) -- 每次循环的SQL语句 ,@TotalCount INT -- 所有仓位维度总数 ,@TotalRow int -- 获取仓位维度下标 ,@TotalStr VarChar(100) -- 动态列名称 -- 设置默认值 SET @STR ='' SET @TotalStr='' SET @TotalRow = 1 -- 默认从1开始 -- 获取仓库的仓位维度 SELECT FSEQ, T31.FFLEXNUMBER INTO #T_BD_STOCKFLEXITEM FROM T_BD_STOCKFLEXITEM T1 INNER JOIN T_BAS_FLEXVALUES T31 ON T1.FFLEXID = T31.FID WHERE FSTOCKID = @FSTOCKID -- 赋值所有仓位维度总数 SELECT @TotalCount = COUNT(*) FROM #T_BD_STOCKFLEXITEM -- 开始循环 WHILE @TotalRow <= @TotalCount BEGIN --获取维度动态列名称 FF100001 SELECT @TotalStr = FFLEXNUMBER FROM #T_BD_STOCKFLEXITEM WHERE FSEQ=@TotalRow --获取 动态拼接 仓位名称 SET @SQLStr = N'SELECT @NAME = V'+ CAST(@TotalStr AS varchar(50)) +'.FNAME FROM T_BAS_FLEXVALUESDETAIL FVD LEFT JOIN T_BAS_FLEXVALUESENTRY_L AS V'+ CAST(@TotalStr AS varchar(50)) +' ON FV

MSSQL - 仓位的标识【动态】获取仓位名称

**最近回答了个关于即时库存的问题,一时半会没弄懂仓位获取的方式~**- 查阅了相关的资料发现大部分都是写了固定的列,不同客户可能维度的...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信