3 Ekim 2021 Pazar

SQL - CREATE TABLE

Giriş
ANSI SQL 4 çeşit constraint tanımlamaya izin veriyor. Açıklaması şöyle. CREATE TABLE ile sadece Primary Key tanımlanabilir.
ANSI SQL provides four types of constraints including PRIMARY KEY, UNIQUE, FOREIGN KEY and CHECK.
UNIQUE desteklenmiyor. Eğer kullanmaya çalışırsak şu hatayı alırız
java.sql.SQLException: Too many constraints - only PRIMARY KEY is supported for CREATE TABLE
FOREIGN KEY desteklenmiyor. Eğer kullanmaya çalışırsak şu hatayı alırız
java.sql.SQLException: Too many constraints - only PRIMARY KEY is supported for CREATE TABLE
DEFAULT sadece sabitler için destekleniyor. Eğer DEFAULT CURRENT_TIMESTAMP şeklinde kullanmaya çalışırsak şu hatayı alırız
 java.sql.SQLException: Non-constant DEFAULT expressions are not supported [colName=MYCOLUMN]
WITH Parametreleri
WITH ile kullanılabilen parametreler şöyle
TEMPLATE=<cache’s template name>
BACKUPS=<number of backups>
ATOMICITY=<ATOMIC | TRANSACTIONAL | TRANSACTIONAL_SNAPSHOT>
WRITE_SYNCHRONIZATION_MODE=<PRIMARY_SYNC | FULL_SYNC | FULL_ASYNC>
CACHE_GROUP=<group name>
AFFINITY_KEY=<affinity key column name>
CACHE_NAME=<custom name of the new cache>
DATA_REGION=<existing data region name>
KEY_TYPE=<custom name of the key type>
VALUE_TYPE=<custom name of the value type of the new cache>
WRAP_KEY=<true | false
WRAP_VALUE=<true | false>
CREATE TABLE WITH CACHE_NAME yazısına bakabilirsiniz
CREATE TABLE WITH TEMPLATE yazısına bakabilirsiniz

VIEW
Ayrıca CREATE VIEW desteklenmiyor

Kullanım Örnekleri

Örnek
Şöyle yaparız. VALUE_TYPE ile deserialize işleminde hangi sınıfa dönüştürüleceği belirtilir. KEY_TYPE ile kullanılacak "compound key" belirtilir. Affinity Colocation yazısına bakabilirsiniz
CREATE TABLE IF NOT EXISTS Things (
  Id UUID,
  Name VARCHAR,
  EffectiveDate TIMESTAMP,

  PRIMARY KEY(Id)
)
WITH "TEMPLATE = PARTITIONED,
      CACHE_NAME = consoleappserver.Thing,
      VALUE_TYPE = consoleappserver.Thing"

Hiç yorum yok:

Yorum Gönder

Ignite Transaction Kullanımı

Giriş Bir tablo 3 tane atomicity değerinden birisine sahip olabilir. 1. ATOMIC 2. TRANSACTIONAL 3. TRANSACTIONAL_SNAPSHOT ATOMIC Açıklaması ...