use*_*480 8 sql-server t-sql tempdb temporary-tables sql-server-localdb
#
LocalDB 实例是否支持SQL Server 临时表(以 为前缀)?
Ran*_*gen 10
我无法回答所有版本,但对于 SQL Server 2012 直到 SQL Server 2017,我确信它们是受支持的
LocalDB 具有与 SQL Server Express 相同的可编程功能。
SQL Server Express LocalDB 是 Express 的轻量级版本,具有所有可编程功能,但在用户模式下运行,并且具有快速、零配置的安装和简短的先决条件列表。
然后,在上一点的基础上,针对 SQL Server express 2012 T-SQL 语法
Express 支持您在任何版本的 SQL Server 中找到的相同 T-SQL 语言元素。您不仅可以对数据库发出数据操作语言查询,还可以运行数据定义语言语句来创建视图、触发器、游标和存储过程等对象
测试(SQL Server 2017)
USE testdb
GO
CREATE TABLE #temp (id int , value nvarchar(255));
INSERT INTO #temp( id ,value)
SELECT 5, 'bla';
SELECT * FROM #temp;
Run Code Online (Sandbox Code Playgroud)
结果
id value
5 bla
Run Code Online (Sandbox Code Playgroud)
将数据库的兼容模式更改为 100 (2008) 时,临时表也有效。
是的,所有形式的临时对象(本地临时表、全局临时表、表变量、本地临时存储过程和全局临时存储过程)在所有版本的 SQL Server Express LocalDB 中都可用。
我已经对 2012、2014、2016 和 2017 版本中的这 5 种对象类型中的每一种执行了以下简单测试,并且没有收到任何错误。
CREATE TABLE #LocalTempTable (Col1 INT);
SELECT * FROM #LocalTempTable;
CREATE TABLE ##GlobalTempTable (Col1 INT);
SELECT * FROM ##GlobalTempTable;
DECLARE @TableVariable TABLE (Col1 INT);
SELECT * FROM @TableVariable;
GO
CREATE PROCEDURE #LocalTempProc
AS
SELECT 1;
GO
EXEC #LocalTempProc;
GO
CREATE PROCEDURE ##GlobalTempProc
AS
SELECT 2;
GO
EXEC ##GlobalTempProc;
Run Code Online (Sandbox Code Playgroud)
此外,如果这些不可用,SQL Server 甚至可能不会启动,因为它们用于系统存储过程、在 中找到的功能msdb
等。
归档时间: |
|
查看次数: |
872 次 |
最近记录: |