0

データベースの電話帳とテーブルの連絡先があります。テーブルの連絡先のCreateステートメントは次のようになります。CREATETABLE'contacts'('name' text collat​​e nocase、'surname' text collat​​e nocase、'street_name' text collat​​e nocase、'street_number' text collat​​e nocase 、'city' text collat​​e nocase、'post' text collat​​e nocase、'post_office_code' text collat​​e nocase、'text_to_publish' text collat​​e nocase、'area_code' text collat​​e nocase、'phone' text collat​​e nocase、'fax' text collat​​e nocase、 'email' text collat​​e nocase)

「ATTACH'phonebook'AStempInMemoryDb」と「CREATETABLEtempInMemoryTableAS SELECT * FROM'contacts';」を使用して、Javaコードからメモリにロードすることができました。

ただし、Create table .. as select ..を使用すると、列のプロパティを宣言せずに結果セットが新しいテーブルにコピーされます(私の場合はnocaseを照合します)。

大文字と小文字を区別しない検索が必要ですが、メモリテーブルにあるので、これを行う方法を教えてください。

4

1 に答える 1

0

テーブルの構造をすでに知っている場合は、同じ構造でテーブルを作成できます。

CREATE TABLE tempInMemoryTable(name text collate nocase, ...)

次に、レコードをコピーします。

INSERT INTO tempInMemoryTable SELECT * FROM contacts;
于 2012-09-14T12:49:10.620 に答える