首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netezza/SQL列别名连接具有参数值的文本

Netezza/SQL列别名连接具有参数值的文本
EN

Stack Overflow用户
提问于 2015-08-31 18:26:41
回答 2查看 2.4K关注 0票数 2

在下面的存储过程中,我只想创建一个基于参数值的列别名。看起来很简单,但我找不到答案。

代码语言:javascript
复制
CREATE OR REPLACE PROCEDURE "SP"(INTEGER, INTEGER)
RETURNS INTEGER
EXECUTE AS OWNER
LANGUAGE NZPLSQL AS
BEGIN_PROC
DECLARE
    whichyear ALIAS FOR $1;

BEGIN
    Select  x as "Some Text" + whichyear  from some table...

 ;
END;
END_PROC;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-31 21:59:14

选项卡是正确的,这将需要动态SQL在Netezza。下面是一个例子。

代码语言:javascript
复制
CREATE OR REPLACE PROCEDURE "SP"(INTEGER)
RETURNS INTEGER
EXECUTE AS OWNER
LANGUAGE NZPLSQL AS
BEGIN_PROC
DECLARE
    whichyear ALIAS FOR $1;
    vSQL varchar(30000);

BEGIN
    drop table the_results if exists;

    vSQL := 'CREATE TABLE THE_RESULTS AS SELECT COL1 "SOME TEXT ' || whichyear || '" FROM TABLE_A;';

    execute immediate vSQL;

END;
END_PROC;

这是输出。

代码语言:javascript
复制
TESTDB.ADMIN(ADMIN)=> exec SP(5);
 SP
----

(1 row)

TESTDB.ADMIN(ADMIN)=> select * from the_results;
 SOME TEXT 5
-------------
           2
           3
           1
(3 rows)
票数 0
EN

Stack Overflow用户

发布于 2015-08-31 20:04:44

在Server中,可以使用如下所示的动态SQL:

代码语言:javascript
复制
DECLARE @sql varchar(max) = 'Select  x as SomeText' + @whichyear + ' from sometable';

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

https://stackoverflow.com/questions/32317576

复制
相关文章

相似问题

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