Cherry Wu
Cherry Wu

Reputation: 4074

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

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}

Upvotes: 11

Views: 20528

Answers (2)

Maverick
Maverick

Reputation: 1185

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.

Upvotes: 19

Brent
Brent

Reputation: 598

The difference is that "Declare table" would be a table level variable.

The "create table" will create a table in the database.

Upvotes: 5

Related Questions