﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Oracle / Базы данных  / динамический sql / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Sat, 05 Jul 2008 08:28:13 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: динамический sql</title><link>http://www.relib.com/forums/Topic915881-21-1.aspx</link><description>ага, спасибо.</description><pubDate>Thu, 13 Sep 2007 06:47:19 GMT</pubDate><dc:creator>luchik</dc:creator></item><item><title>RE: динамический sql</title><link>http://www.relib.com/forums/Topic915881-21-1.aspx</link><description>dms_sql.execute - функция, а не процедура. &lt;/P&gt;&lt;P&gt;вызываешь не правильно</description><pubDate>Wed, 12 Sep 2007 21:56:06 GMT</pubDate><dc:creator>vlgsh</dc:creator></item><item><title>динамический sql</title><link>http://www.relib.com/forums/Topic915881-21-1.aspx</link><description>&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;Пытаюсь создать следующую ф-ию (пока задействованы не все параметры, но суть не в этом):&lt;/P&gt;&lt;P&gt;CREATE OR &lt;/FONT&gt;&lt;FONT color=#000000&gt;REPLACE &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;PROCEDURE &lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;FILTER_FOR_TOPLEVEL&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;&lt;FONT color=#000000&gt;date1 &lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;in &lt;/FONT&gt;&lt;FONT color=#800080&gt;Date&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;, &lt;/FONT&gt;&lt;FONT color=#000000&gt;date2 &lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;in &lt;/FONT&gt;&lt;FONT color=#800080&gt;Date&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;, &lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;otdel &lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;in &lt;/FONT&gt;&lt;FONT color=#800080&gt;varchar2&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;, &lt;/FONT&gt;&lt;FONT color=#000000&gt;fio_isp &lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;in &lt;/FONT&gt;&lt;FONT color=#800080&gt;varchar2&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;,&lt;/FONT&gt;&lt;FONT color=#000000&gt;type_doc &lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;in &lt;/FONT&gt;&lt;FONT color=#800080&gt;varchar2&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;, &lt;/FONT&gt;&lt;FONT color=#000000&gt;ispol &lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;in &lt;/FONT&gt;&lt;FONT color=#800080&gt;varchar2&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;is&lt;/P&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;P&gt;SQLTEXT &lt;B&gt;dbms_sql&lt;/B&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;varchar2s&lt;FONT color=#ff0000&gt;; &lt;/FONT&gt;&lt;I&gt;&lt;FONT color=#008000&gt;--текст запроса&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;P&gt;WhereClause &lt;B&gt;dbms_sql&lt;/B&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;varchar2s&lt;FONT color=#ff0000&gt;; &lt;/FONT&gt;&lt;I&gt;&lt;FONT color=#008000&gt;--условие запроса&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;P&gt;i &lt;B&gt;&lt;FONT color=#800080&gt;integer&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;; &lt;/FONT&gt;&lt;I&gt;&lt;FONT color=#008000&gt;--счетчик&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;P&gt;C &lt;B&gt;&lt;FONT color=#800080&gt;integer&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;; &lt;/FONT&gt;&lt;I&gt;&lt;FONT color=#008000&gt;--идентификатор курсора&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;P&gt;B_ID COMMISSION&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;id&lt;FONT color=#ff0000&gt;%&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;TYPE&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;BEGIN&lt;/P&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT color=#008000&gt;&lt;P&gt;--WhereClause(1):='TRUE';&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;IF &lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;date1 &lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;is not null THEN&lt;/P&gt;&lt;P&gt;IF &lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;date2 &lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;is not null THEN&lt;/P&gt;&lt;P&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;WhereClause&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;&lt;FONT color=#000000&gt;WhereClause&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#000000&gt;Last&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff0000&gt;+&lt;/FONT&gt;&lt;FONT color=#000000&gt;1&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;)&lt;/FONT&gt;&lt;FONT color=#000000&gt;:&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;=&lt;/FONT&gt;&lt;FONT color=#008080&gt;' (Date_ISP&amp;gt;=:d1 and Date_ISP&amp;lt;=:d2)'&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;ELSE &lt;/P&gt;&lt;P&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;WhereClause&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;&lt;FONT color=#000000&gt;WhereClause&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#000000&gt;Last&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff0000&gt;+&lt;/FONT&gt;&lt;FONT color=#000000&gt;1&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;)&lt;/FONT&gt;&lt;FONT color=#000000&gt;:&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;=&lt;/FONT&gt;&lt;FONT color=#008080&gt;' Date_ISP=:d1'&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;; &lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;END IF&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;END IF&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;SQLTEXT&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;1&lt;FONT color=#ff0000&gt;)&lt;/FONT&gt;:&lt;FONT color=#ff0000&gt;=&lt;/FONT&gt;&lt;FONT color=#008080&gt;'SELECT ID '&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;SQLTEXT&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;2&lt;FONT color=#ff0000&gt;)&lt;/FONT&gt;:&lt;FONT color=#ff0000&gt;=&lt;/FONT&gt;&lt;FONT color=#008080&gt;'from from COMMISSION where'&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;FOR &lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;i &lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;in &lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;WhereClause&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#000000&gt;First &lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff0000&gt;.. &lt;/FONT&gt;&lt;FONT color=#000000&gt;WhereClause&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#000000&gt;Last &lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;LOOP&lt;/P&gt;&lt;P&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;SQLTEXT&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;&lt;FONT color=#000000&gt;SQLTEXT&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#000000&gt;Last&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff0000&gt;+&lt;/FONT&gt;&lt;FONT color=#000000&gt;1&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;)&lt;/FONT&gt;&lt;FONT color=#000000&gt;:&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;=&lt;/FONT&gt;&lt;FONT color=#000000&gt;WhereClause&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;&lt;FONT color=#000000&gt;i&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;);&lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;END LOOP&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;C:&lt;FONT color=#ff0000&gt;=&lt;/FONT&gt;&lt;B&gt;dbms_sql&lt;/B&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;open_cursor&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT color=#008000&gt;&lt;P&gt;--dbms_sql.parse(C,SQLTEXT,SQLTEXT.First,SQLTEXT.Last, FALSE, dbms_sql.Native);&lt;/P&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;B&gt;&lt;P&gt;dbms_sql&lt;/B&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;bind_variable&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;C&lt;FONT color=#ff0000&gt;,&lt;/FONT&gt;&lt;FONT color=#008080&gt;':d1'&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;,&lt;/FONT&gt;date1&lt;FONT color=#ff0000&gt;);&lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;P&gt;dbms_sql&lt;/B&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;define_column&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;C&lt;FONT color=#ff0000&gt;,&lt;/FONT&gt;1&lt;FONT color=#ff0000&gt;,&lt;/FONT&gt;B_ID&lt;FONT color=#ff0000&gt;);&lt;/P&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT color=#008000&gt;&lt;B&gt;&lt;P&gt;dbms_sql&lt;/B&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#800080&gt;Execute&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;C&lt;FONT color=#ff0000&gt;);&lt;/P&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;P&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;loop&lt;/P&gt;&lt;P&gt;if &lt;/FONT&gt;&lt;FONT color=#000000&gt;dbms_sql&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;&lt;FONT color=#000000&gt;fetch_rows&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;&lt;FONT color=#000000&gt;C&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;)&amp;gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;0 &lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;THEN&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;dbms_sql&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;&lt;FONT color=#000000&gt;column_value&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;&lt;FONT color=#000000&gt;C&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;,&lt;/FONT&gt;&lt;FONT color=#000000&gt;1&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;,&lt;/FONT&gt;&lt;FONT color=#000000&gt;B_ID&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;);&lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;else&lt;/P&gt;&lt;P&gt;EXIT&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;END IF&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;END LOOP&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;P&gt;dbms_sql&lt;/B&gt;&lt;FONT color=#ff0000&gt;.&lt;/FONT&gt;close_cursor&lt;FONT color=#ff0000&gt;(&lt;/FONT&gt;C&lt;FONT color=#ff0000&gt;); &lt;/P&gt;&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;&lt;P&gt;END&lt;/B&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#ff0000&gt;Выдается ошибка: "EXECUTE" не является процедурой или не определена. С чем эта ошибка связана и как ее можно исправить? &lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Wed, 12 Sep 2007 11:45:57 GMT</pubDate><dc:creator>luchik</dc:creator></item></channel></rss>