Comment créer une table temporaire de la même manière que créer une table normale?
Exemple:
CREATE TABLE table_name
(
column1 datatype,
column2 datatype,
column3 datatype,
....
);
Une table temporaire peut avoir 3 types, le #
est le plus utilisé. C'est une table temporaire qui n'existe que dans la session en cours. Un équivalent de ceci est @
, une variable de table déclarée. Cela a un peu moins de "fonctions" (comme les index, etc.) et est également utilisé uniquement pour la session en cours. Le ##
est celui qui est le même que le #
, cependant, la portée est plus large et vous pouvez donc l'utiliser au sein de la même session, au sein d'autres procédures stockées.
Vous pouvez créer une table temporaire de différentes manières:
declare @table table (id int)
create table #table (id int)
create table ##table (id int)
select * into #table from xyz
Même chose, il suffit de commencer le nom de la table avec #
ou ##
:
CREATE TABLE #TemporaryTable -- Local temporary table - starts with single #
(
Col1 int,
Col2 varchar(10)
....
);
CREATE TABLE ##GlobalTemporaryTable -- Global temporary table - note it starts with ##.
(
Col1 int,
Col2 varchar(10)
....
);
Les noms de tables temporaires commencent par #
ou ##
- La première est une table temporaire locale et la dernière est une table temporaire globale.
Here est l'un des nombreux articles décrivant les différences entre eux.