Netezza SQL脚本格式
我想用DECLARE/BEGIN/END编写一个SQL脚本(代码块),然后执行它,但我不希望它是一个存储过程。在oracle或SQL Server中,我可以将文件另存为.SQL文件,然后执行它。在Netezza中,这不起作用。任何显示如何运行SQL代码的正常DECLARE/BEGIN/END块的指针都会有所帮助 例如,在不创建存储过程的情况下,如何在Netezza中执行这段代码。我想在我的电脑上保存文件,并在需要时执行它Netezza SQL脚本格式,sql,sql-server,oracle,netezza,Sql,Sql Server,Oracle,Netezza,我想用DECLARE/BEGIN/END编写一个SQL脚本(代码块),然后执行它,但我不希望它是一个存储过程。在oracle或SQL Server中,我可以将文件另存为.SQL文件,然后执行它。在Netezza中,这不起作用。任何显示如何运行SQL代码的正常DECLARE/BEGIN/END块的指针都会有所帮助 例如,在不创建存储过程的情况下,如何在Netezza中执行这段代码。我想在我的电脑上保存文件,并在需要时执行它 declare cursor c1 is SELECT DISTIC
declare
cursor c1 is SELECT DISTICT sdogid from POLYGON_SDOGEOM;
gid number;
i number;
begin
i := 0;
for r in c1 loop
begin
gid:= r.sdo_gid;
sdo_admin.update_index_fixed('POLYGON', gid, 15, FALSE, FALSE, FALSE);
exeption when others then
dbms_output.put_line('error for gid'||to_char(gid)||': '||SQLERRM );
end;
i:= i + 1;
if i = 50 then
commit;
i:= 0;
end if;
endloop;
commit;
end;
/
简而言之,你不能这么做。这里要做的是在存储过程之外运行SQL的过程变体,这不是Netezza(及其前身PostgreSQL)努力遵守的ANSI标准的一部分
这种过程逻辑必须在存储过程中实现 您是否考虑过在Powershell中使用SQLCMD?Powershell在您的环境中可用吗?