«Использовать <database>» очищает / сбрасывает объявленные переменные - PullRequest
0 голосов
/ 09 января 2020

Скажем, я указал базу данных для использования, объявил переменную и поместил в нее данные вот так

USE <database 1>;
GO

DECLARE @table TABLE(ID INT);
...
--inserted som stuff to @table

затем указал другую базу данных для использования вот так

USE <database 2>;
GO

я бы все равно есть данные внутри переменной @table из предыдущего раздела второго раздела? Я совершенно новичок в SQL, и я не знал, как Google, чтобы найти ответ на этот конкретный c случай.

1 Ответ

1 голос
/ 09 января 2020

Поскольку вы включаете GO, он завершит сеанс табличной переменной.

Если вы хотите использовать одну и ту же табличную переменную для разных баз данных на одном и том же сервере, вы можете вызвать эту базу данных вместо use <db name> .

insert into db_name.schema.table_name( <column list> )
      select col1, col2, . . 
      from @table

insert into db_name.schema.table_name( <column list> )
      select col1, col2, . . 
      from @table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...