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} ```