<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">

  <channel rdf:about="https://noteofit.blog.shinobi.jp/RSS/100/">
    <title>技術覚書</title>
    <link>https://noteofit.blog.shinobi.jp/</link>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="https://noteofit.blog.shinobi.jp/RSS/" />
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />
    <description>技術の覚書</description>
    <dc:language>ja</dc:language>
    <dc:date>2012-04-21T07:00:31+09:00</dc:date>
    <items>
    <rdf:Seq>
      <rdf:li rdf:resource="https://noteofit.blog.shinobi.jp/android/gpu%E3%83%AC%E3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0" />
      <rdf:li rdf:resource="https://noteofit.blog.shinobi.jp/oracle/pl-sql" />
      <rdf:li rdf:resource="https://noteofit.blog.shinobi.jp/oracle/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3" />
      <rdf:li rdf:resource="https://noteofit.blog.shinobi.jp/oracle/%E5%80%A4%E6%AF%94%E8%BC%83" />
      <rdf:li rdf:resource="https://noteofit.blog.shinobi.jp/oracle/in%20any" />
      <rdf:li rdf:resource="https://noteofit.blog.shinobi.jp/php/oracle%E3%81%AEnvarchar2%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6" />
      <rdf:li rdf:resource="https://noteofit.blog.shinobi.jp/oracle/%E6%A8%A9%E9%99%90" />
      <rdf:li rdf:resource="https://noteofit.blog.shinobi.jp/oracle/dual" />
      <rdf:li rdf:resource="https://noteofit.blog.shinobi.jp/php/%E5%80%A4%E3%81%AE%E6%AF%94%E8%BC%83%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6" />
      <rdf:li rdf:resource="https://noteofit.blog.shinobi.jp/web/apache%20ssl%E5%8C%96" />
    </rdf:Seq>
    </items>
  </channel>

  <item rdf:about="https://noteofit.blog.shinobi.jp/android/gpu%E3%83%AC%E3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0">
    <link>https://noteofit.blog.shinobi.jp/android/gpu%E3%83%AC%E3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0</link>
    <title>GPUレンダリング</title>
    <description>バージョン4.0から、GPUレンダリングによる描画がデフォルトとなっている。
そのため、コンパイル時にmanifest.xmlへ明示的に指定しなければ
端末側のGPUレンダリングON/OFFにかかわらずONとなってしまう。...</description>
    <content:encoded><![CDATA[バージョン4.0から、GPUレンダリングによる描画がデフォルトとなっている。<br/><br />
そのため、コンパイル時にmanifest.xmlへ明示的に指定しなければ<br/><br />
端末側のGPUレンダリングON/OFFにかかわらずONとなってしまう。]]></content:encoded>
    <dc:subject>Android</dc:subject>
    <dc:date>2012-04-21T07:00:31+09:00</dc:date>
    <dc:creator>ECR33 Type-M</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>ECR33 Type-M</dc:rights>
  </item>
  <item rdf:about="https://noteofit.blog.shinobi.jp/oracle/pl-sql">
    <link>https://noteofit.blog.shinobi.jp/oracle/pl-sql</link>
    <title>PL/SQL</title>
    <description>PL/SQLの書き方
create or replace procedure XXX
is
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; -- プロシージャ内で参照できる変数を定義
begin
-- 内部プロシージャ
procedure yyy
is
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; -...</description>
    <content:encoded><![CDATA[<p>PL/SQLの書き方</p>
<p>create or replace procedure XXX<br />
is<br />
&nbsp;&nbsp;&nbsp; -- プロシージャ内で参照できる変数を定義</p>
<p>begin</p>
<p>-- 内部プロシージャ<br />
procedure yyy<br />
is<br />
&nbsp;&nbsp;&nbsp; -- 内部プロシージャの変数を定義<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; -- カラムの型を定義<br />
&nbsp;&nbsp;&nbsp; aaa TBL_AAA.BBB%type;<br />
&nbsp;&nbsp;&nbsp; -- テーブルの行を定義<br />
&nbsp;&nbsp;&nbsp; bbb TBL_AAA%rowtpye;</p>
<p>&nbsp;&nbsp;&nbsp; -- カーソル定義<br />
&nbsp;&nbsp;&nbsp; cursor ccc(p_param) iS<br />
&nbsp;&nbsp;&nbsp; select * from TBL_AAA where x = p_param;<br />
begin<br />
&nbsp;&nbsp;&nbsp; -- 処理を記述</p>
<p>&nbsp;&nbsp;&nbsp; -- 変数に格納している行をそのままinsert・updateできる<br />
&nbsp;&nbsp;&nbsp; insert into TBL_AAA values bbb;<br />
&nbsp;&nbsp;&nbsp; update TBL_AAA set bbb where x = x;</p>
<p>&nbsp;&nbsp;&nbsp; -- 暗黙カーソルオープン<br />
&nbsp;&nbsp;&nbsp; for ccc_rec in ccc(1) loop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- ループ<br />
&nbsp;&nbsp;&nbsp; end loop;<br />
exception<br />
&nbsp;&nbsp;&nbsp; when no_data_found then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- 例外処理を記述<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- 例外をスロー<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; raise zzz;<br />
&nbsp;&nbsp;&nbsp; when others then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- その他例外を記述<br />
end;<br />
end yyy;</p>
<p>end XXX;</p>]]></content:encoded>
    <dc:subject>Oracle</dc:subject>
    <dc:date>2011-02-02T06:07:39+09:00</dc:date>
    <dc:creator>ECR33 Type-M</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>ECR33 Type-M</dc:rights>
  </item>
  <item rdf:about="https://noteofit.blog.shinobi.jp/oracle/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3">
    <link>https://noteofit.blog.shinobi.jp/oracle/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3</link>
    <title>ファイルオープン</title>
    <description>ファイルオープンに使用するUTL_FILE.FOPENは読み込みバイト長(第4引数)を指定しないとデフォルトで1023バイトとなってしまう。...</description>
    <content:encoded><![CDATA[ファイルオープンに使用するUTL_FILE.FOPENは読み込みバイト長(第4引数)を指定しないとデフォルトで1023バイトとなってしまう。]]></content:encoded>
    <dc:subject>Oracle</dc:subject>
    <dc:date>2011-02-02T05:49:16+09:00</dc:date>
    <dc:creator>ECR33 Type-M</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>ECR33 Type-M</dc:rights>
  </item>
  <item rdf:about="https://noteofit.blog.shinobi.jp/oracle/%E5%80%A4%E6%AF%94%E8%BC%83">
    <link>https://noteofit.blog.shinobi.jp/oracle/%E5%80%A4%E6%AF%94%E8%BC%83</link>
    <title>値比較</title>
    <description>wehre句の値比較について

A = B
Aがchar型でBへ数値型を設定した場合
暗黙的にAにTO_NUMBERが適用される(TO_NUMBER(A))。

Aに格納されるデータがすべて数値型のデータであれば問題なく抽出できるが、数値以外のデータが格納されているとエラーが発生してしまう。

この...</description>
    <content:encoded><![CDATA[wehre句の値比較について<br />
<br />
A = B<br />
Aがchar型でBへ数値型を設定した場合<br />
暗黙的にAにTO_NUMBERが適用される(TO_NUMBER(A))。<br />
<br />
Aに格納されるデータがすべて数値型のデータであれば問題なく抽出できるが、数値以外のデータが格納されているとエラーが発生してしまう。<br />
<br />
このような場合は、CASTを行う。<br />
A = CAST(B AS CHAR(X))]]></content:encoded>
    <dc:subject>Oracle</dc:subject>
    <dc:date>2011-02-02T05:44:47+09:00</dc:date>
    <dc:creator>ECR33 Type-M</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>ECR33 Type-M</dc:rights>
  </item>
  <item rdf:about="https://noteofit.blog.shinobi.jp/oracle/in%20any">
    <link>https://noteofit.blog.shinobi.jp/oracle/in%20any</link>
    <title>In Any</title>
    <description>動的SQLでIn Anyに1000件を超えるデータが指定されるとエラーとなる。

回避するには、1000件で分割するかORにする。
ただし、どちらの場合もSQLサイズの問題が出てくる。
9iまでは64Kのようだが、10gでは200kまでは確認できた。...</description>
    <content:encoded><![CDATA[動的SQLでIn Anyに1000件を超えるデータが指定されるとエラーとなる。<br />
<br />
回避するには、1000件で分割するかORにする。<br />
ただし、どちらの場合もSQLサイズの問題が出てくる。<br />
9iまでは64Kのようだが、10gでは200kまでは確認できた。]]></content:encoded>
    <dc:subject>Oracle</dc:subject>
    <dc:date>2008-04-22T11:23:36+09:00</dc:date>
    <dc:creator>ECR33 Type-M</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>ECR33 Type-M</dc:rights>
  </item>
  <item rdf:about="https://noteofit.blog.shinobi.jp/php/oracle%E3%81%AEnvarchar2%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">
    <link>https://noteofit.blog.shinobi.jp/php/oracle%E3%81%AEnvarchar2%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6</link>
    <title>ORACLEのNVARCHAR2について</title>
    <description>PHPからORACLEのNVARCHAR2のカラムに対し、データを取得すると正しく取得できない場合がある。
原因は、PHP(oci)がORACLEのNVARCHAR2のカラムサイズを取得するのにORACLEのカラム情報より取得した器をそのまま使用してしまい桁あふれしてしまっているためだ。
NVA...</description>
    <content:encoded><![CDATA[PHPからORACLEのNVARCHAR2のカラムに対し、データを取得すると正しく取得できない場合がある。<br />
原因は、PHP(oci)がORACLEのNVARCHAR2のカラムサイズを取得するのにORACLEのカラム情報より取得した器をそのまま使用してしまい桁あふれしてしまっているためだ。<br />
NVARCHAR2(200)でUTF-16の場合、ORACLEより返されるバイト長は200×2=400となる。<br />
一方クライアント側はUTF-8で取得した場合、200×3(文字により4もある)=600～800となる。<br />
200バイト以上の文字がオーバーしてしまうため、PHPはエラー？とみなし空を返してしまうようだ。<br />
一方、NVARCHAR2(200)でUTF-8の場合、返されるバイト長は600となり正常に取得できる。<br />
ただし、UTF-8では文字により(第3,4水準の一部の文字)4バイトとなってしまうため、これでも駄目な場合がある。<br />
本当に正しく取得するようにする場合は、実際の文字数×２カラムサイズとして設定するのが無難である。<br />
<br />
上記問題はPHP4～PHP5.0.5まで確認できる。<br />
最新のPHP5.2.5では確認できなかった。]]></content:encoded>
    <dc:subject>PHP</dc:subject>
    <dc:date>2008-04-03T15:16:58+09:00</dc:date>
    <dc:creator>ECR33 Type-M</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>ECR33 Type-M</dc:rights>
  </item>
  <item rdf:about="https://noteofit.blog.shinobi.jp/oracle/%E6%A8%A9%E9%99%90">
    <link>https://noteofit.blog.shinobi.jp/oracle/%E6%A8%A9%E9%99%90</link>
    <title>権限</title>
    <description>テーブルにアクセスする権限がなくても、そのテーブルをアクセスするプロシージャやファンクションを作成しそれに対してExecute権限を付与すればテーブルにアクセスできる。

要はプロシージャやファンクションの実行権限が優先される。...</description>
    <content:encoded><![CDATA[テーブルにアクセスする権限がなくても、そのテーブルをアクセスするプロシージャやファンクションを作成しそれに対してExecute権限を付与すればテーブルにアクセスできる。<br />
<br />
要はプロシージャやファンクションの実行権限が優先される。]]></content:encoded>
    <dc:subject>Oracle</dc:subject>
    <dc:date>2008-03-28T17:26:23+09:00</dc:date>
    <dc:creator>ECR33 Type-M</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>ECR33 Type-M</dc:rights>
  </item>
  <item rdf:about="https://noteofit.blog.shinobi.jp/oracle/dual">
    <link>https://noteofit.blog.shinobi.jp/oracle/dual</link>
    <title>DUAL</title>
    <description>DUALテーブルはSYSが所有し、全てのユーザーにSELECTできる権限が付与されている。...</description>
    <content:encoded><![CDATA[DUALテーブルはSYSが所有し、全てのユーザーにSELECTできる権限が付与されている。]]></content:encoded>
    <dc:subject>Oracle</dc:subject>
    <dc:date>2008-03-28T17:19:04+09:00</dc:date>
    <dc:creator>ECR33 Type-M</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>ECR33 Type-M</dc:rights>
  </item>
  <item rdf:about="https://noteofit.blog.shinobi.jp/php/%E5%80%A4%E3%81%AE%E6%AF%94%E8%BC%83%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">
    <link>https://noteofit.blog.shinobi.jp/php/%E5%80%A4%E3%81%AE%E6%AF%94%E8%BC%83%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6</link>
    <title>値の比較について</title>
    <description>A == &#039;&#039;

Aが文字列の場合：空、NULLはtrue
(&#039;0&#039;はtrueとならない)
Aが数値の場合：0はture

となるため注意が必要
...</description>
    <content:encoded><![CDATA[A == ''<br />
<br />
Aが文字列の場合：空、NULLはtrue<br />
('0'はtrueとならない)<br />
Aが数値の場合：0はture<br />
<br />
となるため注意が必要<br />
]]></content:encoded>
    <dc:subject>PHP</dc:subject>
    <dc:date>2008-01-28T11:02:53+09:00</dc:date>
    <dc:creator>ECR33 Type-M</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>ECR33 Type-M</dc:rights>
  </item>
  <item rdf:about="https://noteofit.blog.shinobi.jp/web/apache%20ssl%E5%8C%96">
    <link>https://noteofit.blog.shinobi.jp/web/apache%20ssl%E5%8C%96</link>
    <title>Apache SSL化</title>
    <description>http://www.rinzo2.jp/~rinzo/apache_ssl/apache_and_ssl_00.htm</description>
    <content:encoded><![CDATA[http://www.rinzo2.jp/~rinzo/apache_ssl/apache_and_ssl_00.htm]]></content:encoded>
    <dc:subject>Web</dc:subject>
    <dc:date>2007-11-14T16:11:43+09:00</dc:date>
    <dc:creator>ECR33 Type-M</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>ECR33 Type-M</dc:rights>
  </item>
</rdf:RDF>
