sql - 将常量值作为视图列返回是一种好习惯吗?
问题描述
我们的存储过程中使用了设备类型字符串常量,如下所示
select * from Device.BvDetails where deviceType='bv'
select * from Device.UcbDetails where deviceType='ucb'
我想从任何地方删除这种硬编码,但我有一个限制,我不能拥有设备类型的静态数据库表,所以我想出了解决方案来获得这样的视图
CREATE VIEW Machine.DeviceType
AS
SELECT
'bv' AS Bv,
'ucb' AS Ucb
并像这样使用它
Declare @bvDeviceType varchar(10) = (select Bv from Machine.DeviceType)
select * from Device.BvDetails where deviceType=@bvDeviceType
Declare @ucbDeviceType varchar(10) = (select Ucb from Machine.DeviceType)
select * from Device.UcbDetails where deviceType=@ucbDeviceType
就最佳实践和性能而言,该方法是否正确?
解决方案
推荐阅读
- c# - 在 MVC 中将数据逻辑放在哪里?
- angular - Angular cli ng 创建错误:无法读取未定义的属性“种类”
- json - 'manifest_version' 键必须存在并设置为 2(不带引号)
- android-studio - Android Studio / Flutter 项目中的默认图标对象中缺少图标:没有为“图标”类型定义 getter 'menu_book'
- azure-devops - Azure DevOps Wiki 支持哪个版本的美人鱼
- android - 使用 build.gradle 注入编译时属性(无需修改)
- gpu - CPU 上的 XLA——收益从何而来?
- opencv - 使用 cuda::calcHist() opencv4.1.0+cuda 时出现 LNK2019 错误
- laravel - 通过 Controller Larael 中的 Trait 触发 JSON 响应
- html - 当所有孩子都有 flex 属性时,父母的 justify-content 是否重要?