sql - SQL 为 EXEC 存储过程提供另一个带有撇号参数的存储过程
问题描述
我正在按照本指南创建热图。
http://sqljason.com/2012/03/heat-maps-for-ssrs-using-map-control.html
其中一个步骤是将存储过程提供给另一个生成我的数据的存储过程。
我的看起来像这样:
exec dbo.CreateHeatMap 20, 25, 'exec ZZ_N_FinalEcomDashboardCustomerRFMUnPivot 03, 001, 1/1/2014, 1/1/2020'
问题是那些日期。起初,我将它们包裹在像 '1/1/2014' 这样的撇号中,但这似乎打破了整条线。
我已经尝试了撇号、声明和设置变量、使用连接或加号以及其他所有方法的每种组合,但我似乎无法让它工作。
我在带有参数的 SSRS 报告中构建这一行。所以我的终极目标是这样的
exec dbo.CreateHeatMap 20, 25, 'exec ZZ_N_FinalEcomDashboardCustomerRFMUnPivot @Company, @Division, @Date, @date2'
这些是我报告中的参数。我正在使用这条线在我的报告中创建一个数据集。
什么是正确的语法?
解决方案
大概是这样的:
exec dbo.CreateHeatMap 20, 25, 'exec ZZ_N_FinalEcomDashboardCustomerRFMUnPivot ''03'', ''001'', ''1/1/2014'', ''1/1/2020'''
如果强制保留前导零,则前导零“数字”也需要作为字符串引用
不禁认为这里有一个更深层次的缺陷.. 但是如果不查看 CreateHeatMap 代码,我不能肯定地说。不过,将 sql 传递给进程似乎是黑客灾难的秘诀
推荐阅读
- python - Python:如何在使用 dynamodb 排序后获得位置/排名?
- c - 如何在不使用任何内置函数的情况下将整数转换为 c 字符串,反之亦然和其他数据类型?
- excel - 隐藏 For 循环中每个实例发生的保存窗口
- php - Symfony 5, How to display in a template, a variable where the current user is affiliated with a ManyToMany relations
- python - python中的heappush行为
- javascript - 如何将特定提取的数组元素插入具有正确结构的新数组中
- mysql - 3 不同的表有相同的外键,如何选择
- javascript - 如何使用Javascript中的数组值过滤对象?
- javascript - 在用户输入的时间字段中添加 30 分钟
- android - 出现 OpenCV 错误:Android Kotlin 中的内核大小必须为奇数且不大于 31