好吧,所以我知道这个问题已被问到。并且我读的所有东西都是“好的......你可以用动态DSL来做,但不要做”我的问题是为什么。我仍然对此感到陌生,所以我正在学习如此紧张,但这就是我正在做的。 我想使用存储过程来创建一个动态视图(但不是一个临时表),视图有两个日期,它用来建立一个开始和结束日期。它看起来像这样:存储过程创建视图
create or replace view MyView as
SELECT
A.COLUMN_A
FUNCTION1(to_date('2/10/2011','MM/DD/YYYY') TOTAL1,
FUNCTION2(to_date('2/15/2011','MM/DD/YYYY') TOTAL2
FROM TABLE_A A;
此视图然后用于生成晶体报告所需的数据。 问题是我们即将开始在另一种语言中使用这些相同的sql语句。 (我们目前使用的是delphi,但关于另一种语言的工作(但我不知道其他语言是什么))我想在存储过程中创建视图的原因是,因为a)视图是动态的,并基于关闭用户选择的日期范围和b),而不是必须在功能和参数的单一行上放置多种语言的一些相当大的视图(必须由于日期范围选择的变化而实时创建)将需要通过。我读过的很多内容都表示,使用动态SQL创建视图是不好的,但知道它已经是一个专门为用户创建的动态视图,是否有人看到这个问题?我在问,因为我不想让自己陷入困境,因为我不想把自己的头发都抽出来。
这是什么关系型数据库? – 2011-02-11 14:20:52