What's the difference between DECLARE TABLE and CREATE TABLE?

sql-server, t-sql

Solution

The only difference between `DECLARE TABLE` and `CREATE TABLE` is:

`DECLARE TABLE`: You will create a table on the fly and use that table later on in the query and not store it physically.

`CREATE TABLE`: You will create a table physically inside the database.

Problem

I need to translate given T-SQL statements into another language. These T-SQL statements are using `DECLARE TABLE`. What's the difference between `DECLARE TABLE` and `CREATE TABLE`? For example, what’s the difference between the following two lines? ``` declare @t table (account_id varchar(512), num_events int); ``` ``` Create table t {account_id varchar(512), num_events int} ```

Original source

Related problems