Hola Juan Carlos

¿Has probado SET CURRENT SCHEMA?

Mira este script:
SET current schema josel2;
CREATE OR REPLACE VIEW hola
    AS  SELECT * FROM audbdfwrk.ATAECPP;
Select * from hola;

En este ejemplo se crea la vista denominada 'hola' en la biblioteca josel2
y contiene datos de una tabla de la biblioteca audbdfwrk (lo que montes en
la claúsula AS es independiente, puede ser un join, un union o lo que
necesites).

Es un ejemplo muy tonto, pero no se si es exactamente lo que necesitas. Si
puedes montar dinámicamente la sentencia SET CURRENT SCHEMA a lo mejor te
vale.

Ya nos cuentas....

Un abrazo.


> Message: 1
> Date: Wed, 04 Sep 2019 18:14:04 +0200
> From: Juan Carlos Paredes <juancar...@paredes.info>
> Subject: Vista en biblioteca diferente de aquella en la que se
>         encuentran las  tablas.
> To: Forum Help 400 <forum.help400@listas.combios.es>
> Message-ID: <e9b12f0729ec2b5e305fd7e14ca40...@paredes.info>
> Content-Type: text/plain; charset=UTF-8; format=flowed
>
> Buenas tardes, compañeros:
>
> Tengo que crear una vista que hace la UNION de varias tablas. La
> cuestión es que necesito crearla en una biblioteca diferente de aquella
> en la que están las tablas. Y no puedo calificar directamente la vista
> en el CREATE VIEW, porque el nombre de la biblioteca donde debe crearse
> es variable en función del entorno de trabajo.
>
> He tratado de solucionarlo poniendo esa biblioteca en la lista como
> *CURLIB. Pero por alguna extraña razón, aunque en la lista de
> bibliotecas la veo como CURLIB (con lo que debería ser la que utilizara
> el CREATE al no estar calificado) me está creando la vista en la
> biblioteca en que residen las tablas, y no en la CURLIB.
>
> He comprobado que, si califico directamente la vista, sí la crea donde
> debe y apunta a las tablas que debe. Pero a través de la CURLIB, no.
>
> ¿Alguna idea al respecto?
>
> --
> https://paredes.info
> juancar...@paredes.info
>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 4 Sep 2019 14:27:29 -0500
> From: Manuel Antonio Ramirez Raygada <mram...@gmail.com>
> Subject: Re: Vista en biblioteca diferente de aquella en la que se
>         encuentran      las tablas.
> To: "forum.help400" <forum.help400@listas.combios.es>
> Message-ID:
>         <CA+ieBqU+a3qiy+v_z+6qX-zQ21JFz=
> xwu0o03bwxx7xfae2...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Buenas tardes Juan Carlos:
>
> El Create View no utiliza *CURLIB para ser creado, pero podrías recuperarla
> curlib si utilizas en tu CL de creación el comando RTVJOBA CURLIB(&CURLIB).
>
> En esa variable recuperas la biblioteca curlib y la puedes usar como
> parámetro de la biblioteca del Create View.
>
> *Manuel A. Ramirez Raygada*
> *Analista de Sistemas - AS400*
>
>
> El mié., 4 sept. 2019 a las 11:15, Juan Carlos Paredes (<
> juancar...@paredes.info>) escribió:
>
> > Buenas tardes, compañeros:
> >
> > Tengo que crear una vista que hace la UNION de varias tablas. La
> > cuestión es que necesito crearla en una biblioteca diferente de aquella
> > en la que están las tablas. Y no puedo calificar directamente la vista
> > en el CREATE VIEW, porque el nombre de la biblioteca donde debe crearse
> > es variable en función del entorno de trabajo.
> >
> > He tratado de solucionarlo poniendo esa biblioteca en la lista como
> > *CURLIB. Pero por alguna extraña razón, aunque en la lista de
> > bibliotecas la veo como CURLIB (con lo que debería ser la que utilizara
> > el CREATE al no estar calificado) me está creando la vista en la
> > biblioteca en que residen las tablas, y no en la CURLIB.
> >
> > He comprobado que, si califico directamente la vista, sí la crea donde
> > debe y apunta a las tablas que debe. Pero a través de la CURLIB, no.
> >
> > ¿Alguna idea al respecto?
> >
> > --
> > https://paredes.info
> > juancar...@paredes.info
> > ____________________________________________________
> > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> > Forum.Help400 © Publicaciones Help400, S.L.
> >
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <
> http://listas.combios.es/cgi-bin/mailman/private/forum.help400/attachments/20190904/aadb6c9c/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Thu, 5 Sep 2019 00:36:18 +0200
> From: datil400 <datil...@gmail.com>
> Subject: Re: Vista en biblioteca diferente de aquella en la que se
>         encuentran      las tablas.
> To: Foro HELP400 <forum.help400@listas.combios.es>
> Message-ID:
>         <CAAnWp=
> 8tazrfhmyvjwmt6hk2e5zs9hmm6z51ucyf50myr_y...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> ¿Quieres decir que cada vista deberá apuntar a las mismas tablas pero de
> diferentes bibliotecas?
>
> Yo intenté crear una vista que tomara dinámicamente las tablas base en
> función de la lista de bibliotecas. A la conclusión que llegué es que la
> vista memoriza la biblioteca en el momento de su creación y siempre las
> usará, independientemente de la lista de bibliotecas.
>
> Tampoco he sido capaz de crear vistas con tablas en dos o más bibliotecas.
> He tenido que calificar co la biblioteca aquellas que no residían en la
> biblioteca de la vista.
>
> Javier
>
> El mié., 4 sept. 2019 21:29, Manuel Antonio Ramirez Raygada <
> mram...@gmail.com> escribió:
>
> > Buenas tardes Juan Carlos:
> >
> > El Create View no utiliza *CURLIB para ser creado, pero podrías
> > recuperarla curlib si utilizas en tu CL de creación el comando RTVJOBA
> > CURLIB(&CURLIB).
> >
> > En esa variable recuperas la biblioteca curlib y la puedes usar como
> > parámetro de la biblioteca del Create View.
> >
> > *Manuel A. Ramirez Raygada*
> > *Analista de Sistemas - AS400*
> >
> >
> > El mié., 4 sept. 2019 a las 11:15, Juan Carlos Paredes (<
> > juancar...@paredes.info>) escribió:
> >
> >> Buenas tardes, compañeros:
> >>
> >> Tengo que crear una vista que hace la UNION de varias tablas. La
> >> cuestión es que necesito crearla en una biblioteca diferente de aquella
> >> en la que están las tablas. Y no puedo calificar directamente la vista
> >> en el CREATE VIEW, porque el nombre de la biblioteca donde debe crearse
> >> es variable en función del entorno de trabajo.
> >>
> >> He tratado de solucionarlo poniendo esa biblioteca en la lista como
> >> *CURLIB. Pero por alguna extraña razón, aunque en la lista de
> >> bibliotecas la veo como CURLIB (con lo que debería ser la que utilizara
> >> el CREATE al no estar calificado) me está creando la vista en la
> >> biblioteca en que residen las tablas, y no en la CURLIB.
> >>
> >> He comprobado que, si califico directamente la vista, sí la crea donde
> >> debe y apunta a las tablas que debe. Pero a través de la CURLIB, no.
> >>
> >> ¿Alguna idea al respecto?
> >>
> >> --
> >> https://paredes.info
> >> juancar...@paredes.info
> >> ____________________________________________________
> >> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> >> Forum.Help400 © Publicaciones Help400, S.L.
> >>
> > ____________________________________________________
> > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> > Forum.Help400 © Publicaciones Help400, S.L.
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <
> http://listas.combios.es/cgi-bin/mailman/private/forum.help400/attachments/20190905/bb6460fd/attachment.htm
> >
>
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a