在teradata上创建存储过程 [英] Creating store procedure at teradata

查看:54
本文介绍了在teradata上创建存储过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在teradata 16上创建存储过程时sql有错误,请问这个查询有什么问题?

there is error at sql while creating stored procedure at teradata 16 , please what is the wrong with this query?

REPLACE PROCEDURE tutorial_db.banks(out test Varchar(20))开始从 tutorial_db.banks 中选择名称结尾;

REPLACE PROCEDURE tutorial_db.banks(out test Varchar(20)) BEGIN select name from tutorial_db.banks END;

推荐答案

Teradata 的 SP 基于标准 SQL,要返回结果集,您必须定义游标

Teradata's SPs are based on Standard SQL, to return a result set you must define a cursor

REPLACE PROCEDURE tutorial_db.banks(OUT test VARCHAR(20)) 
DYNAMIC RESULT SETS 1 -- add 1 for each result set to be returned
BEGIN  
   -- dummy cursor declaration
   DECLARE cur2 CURSOR WITH RETURN ONLY FOR      
   SELECT NAME FROM tutorial_db.banks;

   -- don't close within the SP
   OPEN cur2;
END; 

游标通常很糟糕,但是这个 WITH RETURN ONLY 游标不会在 SP 中逐行处理,它只是一个答案集.

Cursors are usually bad but this WITH RETURN ONLY cursor is not processed row by row within the SP, it's just an answer set.

这篇关于在teradata上创建存储过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆