<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-26801181.post6881004673685523149..comments</id><updated>2011-08-26T22:19:02.132+02:00</updated><category term='Tutorial PL/SQL'/><category term='Optimización y tuning de bases de datos'/><category term='Librerías estándar PLSQL'/><category term='Utilidades PLSQL'/><category term='Bases de datos Oracle'/><title type='text'>Comments on Programación PL/SQL y bases de datos Oracle: Paquete DBMS_SQL para utilizar SQL dinámico (Dynam...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.plsql.biz/feeds/6881004673685523149/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default'/><link rel='alternate' type='text/html' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html'/><author><name>José Luis Pérez</name><uri>https://profiles.google.com/102634062599347146150</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-4QS7hkQaOzk/AAAAAAAAAAI/AAAAAAAAGhg/FWpeXVJY9cg/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-26801181.post-4947574145082634464</id><published>2011-08-26T22:19:02.132+02:00</published><updated>2011-08-26T22:19:02.132+02:00</updated><title type='text'>Hola Luchex,

Entiendo que lo que quieres hacer es...</title><content type='html'>Hola Luchex,&lt;br /&gt;&lt;br /&gt;Entiendo que lo que quieres hacer es algo así:&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;  plsql_code VARCHAR2(500);&lt;br /&gt;  parametro VARCHAR2(500);&lt;br /&gt;  par1  VARCHAR2(20);&lt;br /&gt;  ...&lt;br /&gt;  parn  VARCHAR2(20);&lt;br /&gt;BEGIN&lt;br /&gt;  plsql_code := &amp;#39;BEGIN proceso_x(:1, ..., :n); END;&amp;#39;;&lt;br /&gt;&lt;br /&gt;  -- Extracción de parámetros desde la variable parametros&lt;br /&gt;  par1 := ...&lt;br /&gt;  ...&lt;br /&gt;  parn := ...&lt;br /&gt;&lt;br /&gt;  EXECUTE IMMEDIATE plsql_code&lt;br /&gt;    USING IN OUT par1, ..., parn;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;Obviamente al procedimiento PL/SQL proceso_x siempre le vas a tener que pasar N parámetros, si inicialmente no sabes el número de parámetros tendrás que diseñar proceso_x para que funcione de una forma u otra dependiendo de cuantos parámetros tienen un valor y cuantos se pasan con un valor NULL.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/4947574145082634464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/4947574145082634464'/><link rel='alternate' type='text/html' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html?showComment=1314389942132#c4947574145082634464' title=''/><author><name>Pepelu</name><uri>http://www.blogger.com/profile/00891045835734721638</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18072941500668390493'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_ObxKtfPuuSQ/RZbWU_RnoqI/AAAAAAAAAFA/MVY1NBWkkFM/s200/compuntoes-caballo.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html' ref='tag:blogger.com,1999:blog-26801181.post-6881004673685523149' source='http://www.blogger.com/feeds/26801181/posts/default/6881004673685523149' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1588385999'/></entry><entry><id>tag:blogger.com,1999:blog-26801181.post-8886048050573905410</id><published>2011-08-26T18:50:25.922+02:00</published><updated>2011-08-26T18:50:25.922+02:00</updated><title type='text'>Quiero hacer un proceso generico donde le mande po...</title><content type='html'>Quiero hacer un proceso generico donde le mande por asi decir 2 parametros, el primero una cadena que contenga un bloque anonimo del siguiente tipo&lt;br /&gt;&lt;b&gt;&lt;br /&gt;begin&lt;br /&gt;    proceso_x(:1,:2,....,:n);&lt;br /&gt;end;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;, el segundo una lista de parametros que pueda trabajarla para separarla en tiempo de ejecucion, digamos que se me ocurre algo asi:&lt;br /&gt;parametros de tipo varchar2 =&lt;br /&gt;  &lt;b&gt;&amp;#39;param1|param2|....|paramn&amp;#39;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;o tal vez asi&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;#39;1,param1|2,param2|....|n,paramn&amp;#39;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;y que mi procedimiento ejecute el que le mando, lo de separar los parametros en nun arreglo o algo asi no se me hace dificil , pero el tema de asignar los parametros sin sabel la cantidad que puede haber de antemano con un using para el caso de sql dinamico nativo no lo pude resolver asi que me parece que tal vez se pueda con dbms_sql, vi un ejemplo el oracle 11 que mas o menos hace esto pero con &lt;b&gt;DBMS_SQL.TO_REFCURSOR&lt;/b&gt;, sin embargo yo estoy con el oracle 9i y no tiene esta posibilidad, crees que me puedas dar una mano con eso?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/8886048050573905410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/8886048050573905410'/><link rel='alternate' type='text/html' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html?showComment=1314377425922#c8886048050573905410' title=''/><author><name>Luchex</name><uri>http://www.blogger.com/profile/17528900660843786051</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html' ref='tag:blogger.com,1999:blog-26801181.post-6881004673685523149' source='http://www.blogger.com/feeds/26801181/posts/default/6881004673685523149' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1537319747'/></entry><entry><id>tag:blogger.com,1999:blog-26801181.post-1034762437892492213</id><published>2011-06-13T22:43:45.392+02:00</published><updated>2011-06-13T22:43:45.392+02:00</updated><title type='text'>Hola InitialD, ciertamente no hay una diferencia n...</title><content type='html'>Hola InitialD, ciertamente no hay una diferencia notable, yo diría que es cuestión de gustos. Tambien he hablado de lo que tu comentas en este artículo: &lt;a href="http://www.plsql.biz/2010/09/sql-dinamico-nativo-cursor-dml-update.html" rel="nofollow"&gt;Ejecución de cursores PLSQL y sentencias DML utilizando SQL dinámico nativo&lt;/a&gt;.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/1034762437892492213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/1034762437892492213'/><link rel='alternate' type='text/html' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html?showComment=1307997825392#c1034762437892492213' title=''/><author><name>Pepelu</name><uri>http://www.blogger.com/profile/00891045835734721638</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18072941500668390493'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_ObxKtfPuuSQ/RZbWU_RnoqI/AAAAAAAAAFA/MVY1NBWkkFM/s200/compuntoes-caballo.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html' ref='tag:blogger.com,1999:blog-26801181.post-6881004673685523149' source='http://www.blogger.com/feeds/26801181/posts/default/6881004673685523149' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1588385999'/></entry><entry><id>tag:blogger.com,1999:blog-26801181.post-5061444413292327986</id><published>2011-06-13T19:17:37.447+02:00</published><updated>2011-06-13T19:17:37.447+02:00</updated><title type='text'>Hola que tal pero si utilizamos EXECUTE IMMEDIATE ...</title><content type='html'>Hola que tal pero si utilizamos EXECUTE IMMEDIATE que diferencia hay con DBMS_SQL ya que los dos soportan sentencias DDL, DML y el REF CURSOR lo podemos utilizar para devolver resultados.&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;       str_sql VARCHAR2(255);&lt;br /&gt;       l_cnt   VARCHAR2(20);&lt;br /&gt;BEGIN&lt;br /&gt;     str_sql := &amp;#39;SELECT count(*) FROM PAISES&amp;#39;;&lt;br /&gt;     EXECUTE IMMEDIATE str_sql INTO l_cnt;&lt;br /&gt;     dbms_output.put_line(l_cnt);&lt;br /&gt;END;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/5061444413292327986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/5061444413292327986'/><link rel='alternate' type='text/html' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html?showComment=1307985457447#c5061444413292327986' title=''/><author><name>InitialD</name><uri>http://www.blogger.com/profile/18390875373084169087</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html' ref='tag:blogger.com,1999:blog-26801181.post-6881004673685523149' source='http://www.blogger.com/feeds/26801181/posts/default/6881004673685523149' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-563875229'/></entry><entry><id>tag:blogger.com,1999:blog-26801181.post-2408243711073540085</id><published>2008-11-06T19:04:00.000+01:00</published><updated>2008-11-06T19:04:00.000+01:00</updated><title type='text'>Hola Jose María,&lt;br&gt;&lt;br&gt;La diferencia está en que ...</title><content type='html'>Hola Jose María,&lt;BR/&gt;&lt;BR/&gt;La diferencia está en que con el paquete DBMS_SQL puedes ejecutar cualquier tipo de sentencia SQL (UPDATE, INSERT, SELECT, DELETE, etcétera). La forma que tu comentas es sólo válida para consultas (SELECT) en cursores.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/2408243711073540085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/2408243711073540085'/><link rel='alternate' type='text/html' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html?showComment=1225994640000#c2408243711073540085' title=''/><author><name>Pepelu</name><uri>http://www.blogger.com/profile/00891045835734721638</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18072941500668390493'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp2.blogger.com/_ObxKtfPuuSQ/RZbWU_RnoqI/AAAAAAAAAFA/MVY1NBWkkFM/s200/compuntoes-caballo.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html' ref='tag:blogger.com,1999:blog-26801181.post-6881004673685523149' source='http://www.blogger.com/feeds/26801181/posts/default/6881004673685523149' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1588385999'/></entry><entry><id>tag:blogger.com,1999:blog-26801181.post-4180150044731768033</id><published>2008-11-06T10:12:00.000+01:00</published><updated>2008-11-06T10:12:00.000+01:00</updated><title type='text'>Hola.&lt;br&gt;&lt;br&gt;Interesante tu blog.&lt;br&gt;&lt;br&gt;Respecto ...</title><content type='html'>Hola.&lt;BR/&gt;&lt;BR/&gt;Interesante tu blog.&lt;BR/&gt;&lt;BR/&gt;Respecto a este post... ¿Existe mucha diferencia entre eso y hacer "OPEN CURSOR FOR CADENA" ?&lt;BR/&gt;&lt;BR/&gt;Siendo CURSOR un REF CURSOR.&lt;BR/&gt;&lt;BR/&gt;Un saludo.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/4180150044731768033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26801181/6881004673685523149/comments/default/4180150044731768033'/><link rel='alternate' type='text/html' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html?showComment=1225962720000#c4180150044731768033' title=''/><author><name>Jose María</name><uri>http://www.blogger.com/profile/14891225601287515162</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.plsql.biz/2008/08/paquete-dbmssql-para-utilizar-sql.html' ref='tag:blogger.com,1999:blog-26801181.post-6881004673685523149' source='http://www.blogger.com/feeds/26801181/posts/default/6881004673685523149' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-476904145'/></entry></feed>
