首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在dbVisualizer中为Oracle声明变量

在dbVisualizer中为Oracle声明变量
EN

Stack Overflow用户
提问于 2022-01-28 18:50:32
回答 1查看 330关注 0票数 0

通过dbVisualizer使用Oracle数据库(目前为18g),我使用了具有参数的SQL。其中一些参数位于多个位置。我现在使用的查询有13个不同的参数名,代码中有56个引用。我有一些用于测试的标准值。我不想使用dbVisualizer呈现的接口手动输入它们。我想使用一个文本编辑器输入我的测试值,并将它们全部放在代码的开头,这样我就不会冒险对我的SQL逻辑大惊小怪,这样我就可以在测试结束时删除或注释掉该部分。

我在Server上已经做了几十年了..。

代码语言:javascript
复制
declare @varname varchar(50)
set @varname = 'asdf'

select @varname

...but我看不出在甲骨文中有什么方法可以做到这一点。我已经读过许多关于如何使用PL/SQL或SQL*Plus (如https://dba.stackexchange.com/questions/3652/how-do-i-declare-and-use-variables-in-oracle)来实现这一点的文章,这些文章对我的环境不起作用。我也看到过一些被接受的答案不起作用的帖子(比如声明Oracle SQL中要在查询中使用的变量)。

如何像使用SSMS在Server中一样轻松地通过dbVisualizer声明Oracle中的变量?

EN

回答 1

Stack Overflow用户

发布于 2022-01-28 18:52:24

我已经需要这个功能大约3年了。由于我终于找到了足够的信息来解决这个问题,而且我从来没有在StackExchange上找到过这个信息,所以我在询问和回答我自己的问题,希望别人不会像我一样遭受不必要的痛苦。

我找到了一个描述如何做到这一点的帖子(https://support.dbvis.com/support/discussions/topics/1000076719),但它看起来像是在论坛升级中丢失了一些帖子。我发现这会奏效的:

代码语言:javascript
复制
@echo ${ MY_VARCHAR1 ||My Value|| String }$
@echo ${ MY_VARCHAR2 || My Other Value || String }$
@echo ${ MY_INTEGER || 13467 || Integer }$
@echo ${ MY_DATE || 1983-08-25 || Date }$
;

SELECT ${MY_VARCHAR1}$ "VarcharVal"
, REPLACE(${MY_VARCHAR2}$, ' ', '[SPACE]') "VarcharValWithLeadingAndTrailingSpaces"
, ${MY_INTEGER}$ "IntegerVal"
, ${MY_DATE}$ "DateVal"
FROM DUAL
;

注意MY_VARCHAR2的结果。当整数和日期被清晰地处理时,您希望确保字符串数据的值周围没有空格。

更新:每个dbVisualizer文档调整代码。不过,结果也一样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70898828

复制
相关文章

相似问题

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