带有 ^ 的 Netezza 存储过程错误发现“”(在字符 76 处)未终止的 BEGIN_PROC 字符串
Posted
技术标签:
【中文标题】带有 ^ 的 Netezza 存储过程错误发现“”(在字符 76 处)未终止的 BEGIN_PROC 字符串【英文标题】:Netezza stored procedure error with ^ found "" (at char 76) unterminated BEGIN_PROC string 【发布时间】:2017-05-26 19:24:14 【问题描述】:我刚开始在 Netezza 上工作,我想创建一个简单的存储过程来使用游标或临时表(如 MS SQL)来遍历表,无论如何,这个简单的任务开始时有问题,我对此一无所知,这是代码:
CREATE OR REPLACE PROCEDURE My_FirstSP() RETURNS INT4 LANGUAGE NZPLSQL AS
BEGIN_PROC
DECLARE
ID int;
CREATE TABLE RX5201901
(
ID INT IDENTITY(1,1),
CreatedOn DATETIME
);
END_PROC;
错误:
^ 找到“”(在 char 76 处)未终止的 BEGIN_PROC 字符串
非常感谢。
【问题讨论】:
Lars G Olsen 发布的答案对我不起作用,右键单击我的 Aginity 版本时没有这样的选项。无论如何,我更喜欢我的客户端只执行到最近的分号,为了在不改变模式的情况下解决您的特定问题,您可以按 ctrl+f5 将过程编译为单批。 【参考方案1】:你是不是偶然执行了从 aginity 创建的?
在这种情况下,您需要右键单击背景并将设置更改为“程序模式”
否则netezza只提交两个最近的分号(;)之间的sql
【讨论】:
上面@Juan 的评论确实有效。但是,我确实选择了更改设置,在 Aginity Workbench for PureData System for Analytics 版本 4.8.0.2551 中对我有用:(1) 右键单击背景,然后选择Options
。 (2) 点击Query kind
下拉菜单,将Ordinary SQL
改为SP/Function
。【参考方案2】:
解决这个问题创建存储过程 单击右键>>选项>> 查询类型:SP/Function
好的 2. CTRL + F5
【讨论】:
以上是关于带有 ^ 的 Netezza 存储过程错误发现“”(在字符 76 处)未终止的 BEGIN_PROC 字符串的主要内容,如果未能解决你的问题,请参考以下文章
pypyodbc 从 python 在 netezza 数据库中创建存储过程的错误