<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="variables-syntax" xml:lang="id">
  <info>
    <title type="sort">1</title>
    <link type="topic" xref="query-execution-perspective"/>
    <link type="topic" xref="data-manager-perspective"/>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Andika Triwidada</mal:name>
      <mal:email>andika@gmail.com</mal:email>
      <mal:years>2012, 2013.</mal:years>
    </mal:credit>
  </info>
  <title>Variabel dalam kode SQL</title>
  <p>Variabel (terkadang diacu sebagai <em>placeholder</em> adalah tempat-tempat dalam kode SQL yang digantikan oleh nilai sebenarnya ketika kode SQL dieksekusi. Keuntungannya adalah waktu eksekusi lebih cepat (karena kode SQL hanya diurai sekali) dan proteksi atas vulnerability injeksi SQL.</p>
  <p>Variabel dapat dipakai dalam sebarang kode SQL, dan didefisikan memakai sintaks berikut:</p>
  <code>
##&lt;variable name&gt;[::&lt;variable type&gt;[::NULL]]</code>
  <p>Catatan:</p>
  <list>
    <item><p><em>nama variabel</em> dapat memuat sebarang karakter identifier SQL atau dari karakter <code>+-.|@?</code> (spasi tak diijinkan)</p></item>
    <item><p><em>tipe variabel</em> bisa berupa: <code>string</code>, <code>boolean</code>, <code>int</code>, <code>date</code>, <code>time</code>, <code>timestamp</code>, <code>guint</code>, <code>blob</code>, dan <code>binary</code></p></item>
    <item><p><code>::NULL</code> dapat diimbuhkan untuk menyatakan bahwa variabel boleh menerima nilai khusus <code>NULL</code>.</p></item>
  </list>
  <p>Contoh:</p>
  <code>
##name::string
##id::int::NULL
##sales@3::date::NULL
##customers@id::int</code>
</page>
