首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在3.1.07中为用户输入提供消息提示

在3.1.07中为用户输入提供消息提示
EN

Stack Overflow用户
提问于 2019-01-03 13:06:25
回答 2查看 9.2K关注 0票数 0

我试图让用户将日期输入到替换变量中,但希望提示消息提示用户以正确的格式输入日期。

代码语言:javascript
复制
SELECT claimdate, assessmentid
FROM claimassessment
WHERE claimdate > to_date('&Date_as_yyyy_mm_dd', 'yyyy-mm-dd');

我一直读到我应该使用接受和提示关键字,但是我使用的是SQL 3.1.07,这些关键字没有被识别。我如何使弹出显示一个提示符,如‘输入格式的生效日期’yyyy dd‘。弹出的默认提示符是‘输入替换变量’。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-03 15:01:52

接受和提示关键字在SQL 3.1.07.42中得到确认。

下面是一个使用此表单的演示:

代码语言:javascript
复制
accept Date_as_yyyy_mm_dd date format "YYYY-MM-DD" prompt "Enter the effective date in the format 'yyyy-mm-dd'" 

它用您想要的文本创建提示符窗口(在3.1中,提示符值周围的双引号不是必需的,但我认为它们使其更清晰;单引号在3.1中没有保留,但是在18.3中),并检查提供的值的格式;然后使用接受的值:

当以脚本形式运行时(F5),弹出窗口将显示为指定的文本:

如果输入的值与它重新提示的格式不匹配:

其中一个具有可接受的值,它在后续语句中使用该替换变量值:

而且,只要您已经在脚本模式下运行了accept,您就可以以语句(Control)的形式运行主查询,以便在“查询结果”窗口中获得网格中的结果。

正如Jeff提到的,3.1已经很老了--它似乎是在2012年2月发布的--所以您可能需要考虑获得一个更新的版本。

票数 2
EN

Stack Overflow用户

发布于 2019-01-03 14:46:44

选项1:将其构建到替换变量名中

代码语言:javascript
复制
SELECT *
  FROM hr.employees
 WHERE hire_date > TO_DATE('&date_mm_dd_yyyy', 'MM-DD-YYYY');

日期格式类似于提示符--用户至少会知道您需要2位月份,然后是2位数的日期,然后是4位数的年份。

选项2:使用带有绑定变量的报告。

对于报告,我们使用的不是替换变量,而是绑定。您的查询基本上保持不变,它只是:X &X。它的好处是您的查询将在优化器中缓存一次和多次,对于每个query...although,最近的数据库副本足够聪明,可以自己解决这个问题。

可以在报表中定义提示符的标记方式。

以及报告后面的查询

代码语言:javascript
复制
SELECT *
  FROM hr.employees
 WHERE hire_date > to_date(:user_date, 'MM-DD-YYYY')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54022919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档