{"id":1164,"date":"2011-04-27T18:14:55","date_gmt":"2011-04-27T17:14:55","guid":{"rendered":"http:\/\/soci.hu\/blog\/?p=1164"},"modified":"2011-04-27T18:14:55","modified_gmt":"2011-04-27T17:14:55","slug":"erdekes-sql-programozasi-hibak","status":"publish","type":"post","link":"https:\/\/soci.hu\/blog\/index.php\/2011\/04\/27\/erdekes-sql-programozasi-hibak\/","title":{"rendered":"\u00c9rdekes SQL programoz\u00e1si hib\u00e1k"},"content":{"rendered":"<p>El\u0151z\u0151 h\u00e9ten k\u00e9t \u00e9rdekes hib\u00e1t l\u00e1ttam \u00fcgyfelekn\u00e9l.<br \/>\nAz egyikben l\u00e1ttam, hogy a lek\u00e9rdez\u00e9s v\u00e9grehajt\u00e1si terv\u00e9ben konverzi\u00f3 van, datetime -> integer, emiatt scan volt seek helyett, azaz lass\u00fa volt a lek\u00e9rdez\u00e9s.<br \/>\nAmi fura volt ebben, hogy egy izeID oszlop volt \u00f6sszehasonl\u00edtva egy datetime \u00e9rt\u00e9kkel. Az ID-k tipikusan intek, megn\u00e9zve a t\u00e1bl\u00e1t t\u00e9nyleg az volt. Volt egy lok\u00e1lis v\u00e1ltoz\u00f3, ami copy-paszta miatt datetimera siker\u00fclt int helyett, \u00e9s ezzel \u00edrt\u00e1k tov\u00e1bb a where sz\u0171r\u00e9st. A lek\u00e9rdez\u00e9s m\u00e1r 2 \u00e9ve ment \u00e9lesben. :)<br \/>\nAmi \u00e9rdekes volt benne, hogy funkcion\u00e1lisan j\u00f3l m\u0171k\u00f6d\u00f6tt, a sz\u00e1mok sz\u00e9pen konvert\u00e1l\u00f3dtak d\u00e1tumokk\u00e1 \u00e9s vissza, nem volt vele gond, csak lass\u00fa volt az eg\u00e9sz. Bizarr hiba.<\/p>\n<p>A m\u00e1sik esetben egy ilyen lek\u00e9rdez\u00e9s volt:<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\ndeclare @a int\r\nwhile valami\r\nbegin\r\n  select @a = oszlop from tabla where ...\r\nend\r\n<\/pre>\n<p>Furcsa volt, hogy a @a furcsa m\u00f3don tartalmazott \u00e9rt\u00e9ket akkor is, amikor nem \u00e9rintett sort a select a where miatt.<br \/>\nJobban belegondolva ez nem is fura, hisz a select NEM ad \u00e9rt\u00e9ket a v\u00e1ltoz\u00f3nak, ha nem \u00e9rint sort, \u00e9s NEM is null\u00e1zza ki. Els\u0151 iter\u00e1ci\u00f3kor a @a null, hisz nem kapott \u00e9rt\u00e9ket, a m\u00e1sodik iter\u00e1ci\u00f3n\u00e1l meg benne volt az els\u0151 fut\u00e1s eredm\u00e9nye, ami m\u00e1r nem null volt, b\u00e1r azt v\u00e1rt\u00e1k. Nem nagy hiba, de id\u0151rabl\u00f3 tud lenni.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El\u0151z\u0151 h\u00e9ten k\u00e9t \u00e9rdekes hib\u00e1t l\u00e1ttam \u00fcgyfelekn\u00e9l. Az egyikben l\u00e1ttam, hogy a lek\u00e9rdez\u00e9s v\u00e9grehajt\u00e1si terv\u00e9ben konverzi\u00f3 van, datetime -> integer, emiatt scan&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,4,30,21,58,77],"tags":[],"class_list":["post-1164","post","type-post","status-publish","format-standard","hentry","category-adatbazisok","category-szakmai-elet","category-sql-server","category-sql-server-2005","category-sql-server-2008","category-sql-server-2008-r2"],"_links":{"self":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=1164"}],"version-history":[{"count":1,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1164\/revisions"}],"predecessor-version":[{"id":1165,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1164\/revisions\/1165"}],"wp:attachment":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=1164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=1164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=1164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}