基于列值从存储过程调用视图
Posted
技术标签:
【中文标题】基于列值从存储过程调用视图【英文标题】:Call view from a stored procedure based on column value 【发布时间】:2016-08-02 13:34:09 【问题描述】:我有一个如下所示的数据表。我根据 ID 号创建了具有不同逻辑的多个视图。
谁能告诉我:是否有可能有一个存储过程来执行基于表中可用的id的视图?
在此示例中:ID 1001 具有不同的视图,而 ID 1002 具有另一个视图。
表格将包含特定 ID 在给定时间点的数据。 并且在加载具有不同 ID 的数据之前会被截断。
DDL:
declare @table table
(
id int,
sales numeric (10,2),
years date
)
insert @table
select 1001 , 25000,'2005-05-01' union all
select 1001,256565,'2006-10-01' union all
select 1002 , 55000,'2005-10-11' union all
select 1002,56565,'2006-11-21 '
谢谢
【问题讨论】:
您能分享一些为每个 id 创建视图背后的示例逻辑吗? 为什么要为每个 id 创建单独的视图???您应该创建一个视图,然后使用 where 子句。或者可能是一个接收 id 作为参数的存储过程? 您无法执行视图 - 您可以从中选择,但 .... 【参考方案1】:你需要这样的东西吗?:
If @id = 1001
SELECT * FROM VIEW_1
If @id = 1002
SELECT * FROM VIEW_2
【讨论】:
以上是关于基于列值从存储过程调用视图的主要内容,如果未能解决你的问题,请参考以下文章