标签: temp-tables

即使未关闭连接,临时表也不存在

我有以下代码:

using (var connection = new SqlConnection(constr))
{
    connection.Open();

    var createTempTables = new SqlCommand("[dbo].[p_CreateTempTable]", connection)
    {
        CommandType = CommandType.StoredProcedure
    };

    createTempTables.Parameters.Add(new SqlParameter("@Id", 2));
    createTempTables.ExecuteNonQuery();

    var actualCommand = new SqlCommand("[dbo].[p_Test]", connection)
    {
        CommandType = CommandType.StoredProcedure
    };

    var dt = new DataTable();

    dt.Load(actualCommand.ExecuteReader());
}
Run Code Online (Sandbox Code Playgroud)

基本上,[dbo].[p_CreateTempTable]从表中选择与 ID inut 匹配的行作为参数。然后,[dbo].[p_Test]只需选择临时表。据我所知,只要连接没有关闭,临时表就应该持续存在,但我总是收到一个异常,说我的临时表不存在。为什么这不起作用?

注意:如果我改为使用在 C# 中创建临时表的文本命令,则程序运行没有问题。但是我想避免这样做,因为在创建临时表时会有更多的验证,并且由于应用程序是 WinForms,我想避免每次逻辑更改时重新编译。

c# sql-server temp-tables

0
推荐指数
1
解决办法
268
查看次数

在Oracle中创建游标之前创建表

我有一个PL/SQL过程,它创建一个临时表,然后使用游标从此临时表中提取数据,处理数据,然后删除临时表.但是,如果数据库中不存在表,则Oracle不允许使用游标.

请帮我处理这件事.

oracle plsql temp-tables oracle10g

-1
推荐指数
1
解决办法
7477
查看次数

使用查询字符串的 SQL SELECT 结果 INTO 临时表

我正在尝试编写一些动态 SQL 查询,这些查询将结果选择到带有查询字符串的临时表中。它看起来像这样:

DECLARE @SQL Varchar(4000)

SET @SQL = 'SELECT * INTO #tmp_tab FROM dbo.sometable'

EXEC(@SQL)
Run Code Online (Sandbox Code Playgroud)

运行代码不会出现任何错误,但是当我想从 中选择时#tmp_tab,它说该表不存在。

所以我想知道它是否有什么特殊的语法,或者动态SQL不支持这样的操作?

非常感谢。

sql temp-tables

-1
推荐指数
1
解决办法
6633
查看次数

我需要类似的查询没有插入(SQL Server)

我需要像这样选择整个月的查询

DECLARE @ano TABLE (
mes int
)
insert @ano (mes) values (1)
insert @ano (mes) values (2)
insert @ano (mes) values (3)
insert @ano (mes) values (4)
insert @ano (mes) values (5)
insert @ano (mes) values (6)
insert @ano (mes) values (7)
insert @ano (mes) values (8)
insert @ano (mes) values (9)
insert @ano (mes) values (10)
insert @ano (mes) values (11)
insert @ano (mes) values (12)
select * from @ano
Run Code Online (Sandbox Code Playgroud)

但我正在使用的程序不接受插入... D:

sql sql-server temp-tables

-4
推荐指数
1
解决办法
82
查看次数

标签 统计

temp-tables ×4

sql ×2

sql-server ×2

c# ×1

oracle ×1

oracle10g ×1

plsql ×1