【发布时间】:2019-08-02 23:46:47
【问题描述】:
我已经让这个过程在 TOAD/PLSQL 中运行,但是希望将第一列的别名设置为传递给该过程的 field_name 参数。我想我需要将查询构建为类似的字符串,
query := 'Select 1 as ' || field_name || ' From Dual';
但我没有做对。我的想法可能吗?
谢谢,我正在尝试修改的工作代码如下。
Create or Replace Procedure Delete_Me(field_name NVarChar2)
as
result_set sys_refcursor;
BEGIN
open result_set for
Select
Elapsed_Time((Select Start_Time From Temp_Time1)) as field_name
,To_Char(SysDate, 'HH12:MI:SS AM') as Time_Completed
,Elapsed_Time((Select Start_Time From Temp_Time0)) as Process_So_Far
From
Dual;
DBMS_SQL.RETURN_RESULT(result_set);
End;
评论后:
我向过程传递了一个字符串,它的值被放置在“field_name”中。我希望第一列的别名采用 field_name 的值。因此,如果我这样调用程序:
BEGIN
DeleteMe('Random_Column_Name');
END;
第一个列名将被称为“Random_Column Name”。如果我这样调用程序:
BEGIN
DeleteMe('Different_Column_Name');
END;
第一列是名称,“Different_Column_Name”。
在德米特里的第二条评论之后: 这并不意味着什么。这是我尝试过但未能开始工作的一个例子。
【问题讨论】:
-
能否请您编辑您的问题并添加一个示例,说明您现在拥有什么以及您想要获得什么?目前,很难理解。
-
游标的 SQL 应该通过将别名变量与其他部分连接起来构造。别名变量应该在引号之外。
-
字符串
query := 'Select 1 as ' || field_name || ' From Dual';- 这是什么意思?你在哪里用的?
标签: oracle stored-procedures plsql dynamic-sql