{"id":642,"date":"2019-05-08T13:08:53","date_gmt":"2019-05-08T17:38:53","guid":{"rendered":"http:\/\/gregorgonzalez.com.ve\/blog\/?p=642"},"modified":"2019-05-08T16:00:04","modified_gmt":"2019-05-08T20:30:04","slug":"bloques-if-en-oracle","status":"publish","type":"post","link":"https:\/\/gregorgonzalez.com.ve\/blog\/bloques-if-en-oracle\/","title":{"rendered":"Bloques IF en Oracle"},"content":{"rendered":"\n<p>Desde hace varios meses que estoy\ntrabajando con Oracle y me impresiona sus capacidades, sin embargo me\nha costado el cambio por la diferente sintaxis y maneras de hacer las\ncosas. Cuando vienes de otros manejadores como MySql y Postgres, te\nacostumbras a sus m\u00e9todos y estrategias, ahora al cambiar a Oracle\nhe tenido que documentarme sobre muchos procesos, desde simples SQL a\ngrandes procedimientos en PL\/SQL.<\/p>\n\n\n\n<p>Aunque el SQL es universal y si conoces\nsobre el lenguaje, f\u00e1cilmente te puedes adaptar a cualquier\nmanejador relacional, a\u00fan as\u00ed debes adaptar ciertas cosas para que\nfuncionen, porque tambi\u00e9n hay SQL que no es est\u00e1ndar o funciones\nespecificas de los DBMS.<\/p>\n\n\n\n<p>Ya estoy acostumbrados a los IF,\nSWITCH, CASE de los otros BDMS. En este caso, los IF en SQL de Oracle\nno existen pero s\u00ed existe en los procedimientos. Entonces en la\nparte de SQL podemos usar CASE.<\/p>\n\n\n\n<p>Ejemplo SQL con CASE:<\/p>\n\n\n<pre class=\"lang:plsql decode:true  \">SELECT \n    (CASE WHEN 5 &gt; 1\n          THEN 'ES MAYOR'\n          ELSE 'ES MENOR O IGUAL'\n    END) AS resultado\nFROM DUAL;<\/pre>\n\n\n<p>Ejemplo PL\/SQL con IF utilizando una funci\u00f3n:<\/p>\n\n\n<pre class=\"lang:plsql decode:true  \">CREATE OR REPLACE FUNCTION evaluar_numero(\n    numero NUMBER\n)\n    RETURN VARCHAR2\nAS\n    resultado VARCHAR2 (100) := '';\nBEGIN\n\n    IF numero &gt; 1 THEN\n        resultado := 'Es Mayor';\n    ELSIF numero = 1 THEN\n        resultado := 'Es igual';\n    ELSE\n        resultado := 'Es Menor';\n    END IF;\n\n    RETURN resultado;\nEND;<\/pre>\n\n\n<p>Y llamando la funci\u00f3n:<\/p>\n\n\n<pre class=\"lang:plsql decode:true  \">SELECT evaluar_numero(5) FROM DUAL;<\/pre>\n\n\n<p>Toma en cuenta que el \u00abELSEIF\u00bb no existe en Oracle, sino que tiene su propia nomenclatura \u00abELSIF\u00bb, peque\u00f1os detalles que cambian pero quitan tiempo y la paciencia. Del resto es acostumbrarse, sigue siendo SQL, sigue siendo sencillo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Desde hace varios meses que estoy trabajando con Oracle y me impresiona sus capacidades, sin embargo me ha costado el cambio por la diferente sintaxis y maneras de hacer las cosas. Cuando vienes de otros manejadores como MySql y Postgres, te acostumbras a sus m\u00e9todos y estrategias, ahora al cambiar a Oracle he tenido que [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":660,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[239],"tags":[240,241,242],"_links":{"self":[{"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/posts\/642"}],"collection":[{"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/comments?post=642"}],"version-history":[{"count":10,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/posts\/642\/revisions"}],"predecessor-version":[{"id":653,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/posts\/642\/revisions\/653"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/media\/660"}],"wp:attachment":[{"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/media?parent=642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/categories?post=642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/tags?post=642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}