SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Jaki jest limit zmiennych SQL, które można określić w pojedynczym zapytaniu execSQL?

Limit jest zakodowany w sqlite3.c i jest ustawiony na 999. Niestety można go zmienić, ale tylko w czasie kompilacji. Oto odpowiednie fragmenty:

/*
** The maximum value of a ?nnn wildcard that the parser will accept.
*/
#ifndef SQLITE_MAX_VARIABLE_NUMBER
# define SQLITE_MAX_VARIABLE_NUMBER 999
#endif


/*
** The datatype ynVar is a signed integer, either 16-bit or 32-bit.
** Usually it is 16-bits.  But if SQLITE_MAX_VARIABLE_NUMBER is greater
** than 32767 we have to make it 32-bit.  16-bit is preferred because
** it uses less memory in the Expr object, which is a big memory user
** in systems with lots of prepared statements.  And few applications
** need more than about 10 or 20 variables.  But some extreme users want
** to have prepared statements with over 32767 variables, and for them
** the option is available (at compile-time).
*/
#if SQLITE_MAX_VARIABLE_NUMBER<=32767
typedef i16 ynVar;
#else
typedef int ynVar;
#endif


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite ISTNIEJE

  2. Jak stworzyć tabelę za pomocą bazy danych sqlite w Androidzie?

  3. sqliteLog 14:nie można otworzyć pliku w wierszu

  4. 2 przykładowe bazy danych dla SQLite

  5. SQLite JSON_EACH()