访问动态数量的SQL视图
本文关键字:SQL 视图 动态 访问 | 更新日期: 2023-09-27 18:09:05
我相信这是一个难题!
我有两个数据库。Destiny
和Source
在Destiny
中,我有一个表,其中包含视图名称的列表。
:
GasPriceSourceID Name
1 ICIS Heren TTF Bid
2 ICIS Heren TTF Offer
3 ICIS Heren TTF Midspread
4 NPG Spot
8 AEQ SYS Sell
9 AEQ SYS Buy
10 ICIS Heren Gaspool Midspread
因此,首先我将调用数据库:Source
上的视图:ICIS Heren TTF Bid
然后是ICIS Heren TTF Offer
,等等。
这将在c#控制台应用程序中完成。
通常我会使用ADO。NET实体数据模型。但是这会创建一个数据库的静态模型——但是视图每天都会被添加和删除。
所有的视图返回3个东西:ID
, Date
和Value
。
我需要将这些价格移动到数据库中的一个表:Destiny
简而言之。命运号有一份价格来源清单。每个来源都有很多价格,这些价格将被放在Destiny的表格中。
由于你没有提供足够的细节,只是一些一般的指针:
-
在应用程序中"手动"构建SQL字符串
不推荐且容易出现问题(安全,性能…) -
构建一个存储过程,该存储过程反过来构建和执行SQL SELECT并返回一个CURSOR
可以更安全一点(特别是可以避免SQL注入),因为存储过程会先检查视图是否存在…
顺便说一句:当你访问这些视图时,你到底在做什么?
EDIT - after more information from OP:
Source
, ID
, Date
和Value
列的视图来解决。
这将使所有的动态SQL和由此产生的问题只是膨胀…因为这样你就可以使用"正常查询"与WHERE Source = 'ICIS Heren TTF Bid'
为例…任何其他技术,如EF和/或LINQ等都是可用的,并且可以"开箱即用"…