tag:blogger.com,1999:blog-26801181.post8090929788017307553..comments2023-10-18T20:16:44.581+02:00Comments on Programación PL/SQL: Sentencia CASE en PL/SQL de OracleJLPMhttp://www.blogger.com/profile/00891045835734721638noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-26801181.post-81254941032819241332023-02-06T12:14:36.049+01:002023-02-06T12:14:36.049+01:00Hola Gabriel,
La sintaxis de tu comando no es cor...Hola Gabriel,<br /><br />La sintaxis de tu comando no es correcta. La sintaxis del UPDATE en PLSQL es: <br /><br /><br />UPDATE table1<br />SET column1 = expression1,<br /> column2 = (SELECT expression1<br /> FROM table2<br /> WHERE conditions),<br /> ...<br /> column_n = expression_n<br />[WHERE conditions];<br /><br />En tu caso entiendo que la forma correcta sería:<br /><br />UPDATE items i<br />SET<br /> i.cuenta = (<br /> SELECT<br /> CASE<br /> WHEN df.id_fact IS NULL THEN '990'<br /> ELSE '550'<br /> END<br /> FROM<br /> det_facturas df<br /> WHERE<br /> df.id_item = i.id_item<br /> );<br /><br /><br />JLPMhttps://www.blogger.com/profile/00891045835734721638noreply@blogger.comtag:blogger.com,1999:blog-26801181.post-55845944944709355202023-02-01T14:09:31.670+01:002023-02-01T14:09:31.670+01:00Amigo, puedo usar un CASE en un UPDATE en PL-SQL ?...Amigo, puedo usar un CASE en un UPDATE en PL-SQL ??<br />Tengo esta consulta en T-SQL y me funciona bien, pero en PL-SQL, no:<br /><br />update I<br /> SET I.cuenta = case when DF.id_fact is null then '990' else '550' end<br /> from Items I<br />LEFT join Det_facturas DF on DF.id_item = I.id_itemGabriel GRGhttps://www.blogger.com/profile/17738952373775702135noreply@blogger.comtag:blogger.com,1999:blog-26801181.post-20697598800595838862021-01-15T16:25:34.328+01:002021-01-15T16:25:34.328+01:00hola se puede usar el case con una condicion de le...hola se puede usar el case con una condicion de letra <br />por ejemplo <br />nombre pedro y yo en el case le de una condicion con p <br /><br />como tendria que hacerlo me podrias dar un ejemplo ?Juanhttps://www.blogger.com/profile/03813360220306729408noreply@blogger.comtag:blogger.com,1999:blog-26801181.post-66789134206724857022010-07-19T12:10:58.724+02:002010-07-19T12:10:58.724+02:00Hola J M, puedes utilizar un INSERT INTO ... SELEC...Hola J M, puedes utilizar un INSERT INTO ... SELECT y dentro del SELECT utilizar una cláusula CASE.JLPMhttps://www.blogger.com/profile/00891045835734721638noreply@blogger.comtag:blogger.com,1999:blog-26801181.post-8785099943953142472010-07-15T21:09:31.545+02:002010-07-15T21:09:31.545+02:00¿Se puede usar esta sentencia (CASE) dentro de una...¿Se puede usar esta sentencia (CASE) dentro de una INSERT?J mhttps://www.blogger.com/profile/07050501072327944411noreply@blogger.comtag:blogger.com,1999:blog-26801181.post-41678740291377199142010-05-24T15:02:12.120+02:002010-05-24T15:02:12.120+02:00Hola Olga, obviamente todo lo que metas dentro del...Hola Olga, obviamente todo lo que metas dentro del SELECT va a ralentizar la ejecución del mismo, pero no tiene por qué ser preferible sacar el CASE del SELECT. Si al final vamos a tener que realizar la comparación (o vamos a tener que ejecutar la función) para todos los registros que devuelva el SELECT, el rendimiento en uno y otro caso va a ser similar.JLPMhttps://www.blogger.com/profile/00891045835734721638noreply@blogger.comtag:blogger.com,1999:blog-26801181.post-14950768702642298112010-05-24T13:34:41.000+02:002010-05-24T13:34:41.000+02:00Muchas gracias por el blog.
Tengo una pregunta re...Muchas gracias por el blog.<br /><br />Tengo una pregunta respecto al Case, siempre me han dicho que poner funciones dentro de la Select es un mayor coste, este también sería el caso? No sería preferible evaluar la expresión fuera de la Select?<br /><br />Muchas graciasOlgahttps://www.blogger.com/profile/05704874852528430907noreply@blogger.com