标签: temp-tables

在c#中使用临时表

我将excel表读入datagrid.从那里,我已经设法将网格的行读入DataTable对象.DataTable对象具有数据,因为当我使网格的数据源与该表对象相等时,将填充网格.

我的问题:我想使用表对象并使用SQL服务器操纵它的值(即我想将它存储为临时表并使用C#代码中的SQL查询对其进行操作,我希望它返回不同的结果inte一个网格.(我不知道如何使用C#中的临时表)

这是单击按钮时执行的代码....

 SqlConnection conn = new SqlConnection("server = localhost;integrated security = SSPI");
//is connection string incorrect?

SqlCommand cmd = new SqlCommand();

//!!The method ConvertFPSheetDataTable Returns a DataTable object//
cmd.Parameters.AddWithValue("#table",ConvertFPSheetDataTable(12,false,fpSpread2_Sheet1));
//I am trying to create temporary table     

//Here , I do a query               
cmd.CommandText = "Select col1,col2,SUM(col7) From #table group by col1,col2 Drop #table";

SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText,conn);
 DataTable dt = new DataTable();
da.Fill(dt); ***// I get an error here 'Invalid object name '#table'.'***

fpDataSet_Sheet1.DataSource = dt;

//**NOTE:** fpDataSet_Sheet1 …
Run Code Online (Sandbox Code Playgroud)

c# sql temp-tables

7
推荐指数
2
解决办法
4万
查看次数

TSQL从动态SQL写入临时表

请考虑以下代码:

SET @SQL1 = 'SELECT * INTO #temp WHERE ...'
exec(@SQL1)
SELECT * from #temp  (this line throws an error that #temp doesn't exist)
Run Code Online (Sandbox Code Playgroud)

显然这是因为exec命令会旋转一个单独的会话,而#temp是该会话的本地会话.我可以使用全局临时表## temp,但是我必须提出一个命名方案来避免冲突.你们都推荐什么?

t-sql sql-server session temp-tables

7
推荐指数
3
解决办法
3万
查看次数

pgAdmin中的临时表

我正在使用pgAdmin用于我的Postgres 8.4数据库,我想知道在哪里(任何表/模式/等?)我可以找到当前使用的临时表的列表?我认为必须有一个我能找到它的地方.

它们不存在于目录对象表中,也不存在于视图中,还有其他任何建议吗?

postgresql temp-tables pgadmin

7
推荐指数
2
解决办法
7295
查看次数

无法在Android sqlite中创建TEMP表

我试图在Android中创建一个临时表(sqlite)

这是代码片段:

// No error - But cannot create TEMP table
database.rawQuery("CREATE TEMP TABLE IF NOT EXISTS tt1 (unread_message int, target varchar)", null);

// Error - android.database.sqlite.SQLiteException: no such table: tt1: , while compiling: INSERT INTO tt1 SELECT count(*), target  FROM messages where read_status=0 and direction=1 GROUP BY target
database.rawQuery("INSERT INTO tt1 SELECT count(*), target  FROM messages where read_status=0 and direction=1 GROUP BY target", null);
Run Code Online (Sandbox Code Playgroud)

创建TEMP TABLE查询没有错误,但它抱怨tt1在第二个查询中不存在.我是以错误的方式创建TEMP表吗?

java sqlite android temp-tables

7
推荐指数
1
解决办法
5056
查看次数

除了在创建临时表之前,最好在使用后删除临时表吗?

我有一个存储过程创建临时表.它只需要这个存储过程的范围,而不是其他地方.

当我使用临时表列出这个时,我总是检查临时表是否存在,如果存在则删除它,然后在存储过程中创建它.即:

IF OBJECT_ID('tempdb..#task_role_order') IS NOT NULL    
        DROP TABLE #task_role_order        
CREATE TABLE #task_role_order(...)
Run Code Online (Sandbox Code Playgroud)

大多数情况下,除了在创建临时表之前,最好先删除临时表吗?

如果需要更多上下文,我有一个.NET Web API后端,它调用数据库中的存储过程.我相信当SQL Server会话结束时,SQL Server会丢弃临时表.但我不知道.NET每次查询数据库时是打开一个新的SQL Server会话,还是每个应用程序生命周期只打开一次,等等.

我读过这个类似的问题,但认为它略有不同.

sql-server temp-tables sql-server-2014

7
推荐指数
1
解决办法
7692
查看次数

无法在Postgres交叉表查询中使用公用表表达式

我正在尝试使用Postgres的tablefunc扩展CROSSTAB功能对某些数据执行数据透视操作.数据需要首先进行一些转换,我在一些常见的表表达式中执行.

但是,它似乎CROSSTAB无法看到那些表达式的结果.

例如,从临时表中获取数据的查询工作正常:

CREATE TEMPORARY TABLE
  temporary_table
    (name, category, category_value)
ON COMMIT DROP
AS (
  VALUES
    ('A',  'foo',    1             ),
    ('A',  'bar',    2             ),
    ('B',  'foo',    3             ),
    ('B',  'bar',    4             )
);

SELECT * FROM
  CROSSTAB(
    'SELECT * FROM temporary_table',
    $$
      VALUES
        ('foo'),
        ('bar')
    $$
  ) AS (
    name TEXT,
    foo  INT,
    bar  INT
  );
Run Code Online (Sandbox Code Playgroud)

并且,如预期的那样,产生以下输出:

name | foo     | bar
text | integer | integer
---- | ------- …
Run Code Online (Sandbox Code Playgroud)

sql postgresql pivot temp-tables crosstab

7
推荐指数
1
解决办法
1492
查看次数

将临时表与SQLAlchemy一起使用

我试图使用临时表与SQLAlchemy,并将其连接到现有的表.这就是我到目前为止所拥有的

engine = db.get_engine(db.app, 'MY_DATABASE')
df = pd.DataFrame({"id": [1, 2, 3], "value": [100, 200, 300], "date": [date.today(), date.today(), date.today()]})
temp_table = db.Table('#temp_table',
                      db.Column('id', db.Integer),
                      db.Column('value', db.Integer),
                      db.Column('date', db.DateTime))
temp_table.create(engine)
df.to_sql(name='tempdb.dbo.#temp_table',
          con=engine,
          if_exists='append',
          index=False)
query = db.session.query(ExistingTable.id).join(temp_table, temp_table.c.id == ExistingTable.id)
out_df = pd.read_sql(query.statement, engine)
temp_table.drop(engine)
return out_df.to_dict('records')
Run Code Online (Sandbox Code Playgroud)

这不会返回任何结果,因为插入语句to_sql不会运行(我认为这是因为它们运行使用sp_prepexec,但我不完全确定).

然后,我尝试只是写出来的SQL语句(CREATE TABLE #temp_table...,INSERT INTO #temp_table...,SELECT [id] FROM...),然后运行pd.read_sql(query, engine).我收到错误消息

此结果对象不返回行.它已自动关闭.

我想这是因为声明不仅仅是SELECT

我该如何解决这个问题(任何一个解决方案都可以工作,虽然第一个会更好,因为它避免了硬编码的SQL).要清楚,我无法修改现有数据库中的模式 - 它是供应商数据库.

python sql-server sqlalchemy temp-tables pandas

7
推荐指数
1
解决办法
7726
查看次数

如何在临时表中插入RESTORE FILELISTONLY/HEADERONLY/VERIFYONLY给出的信息

如何插入命令给出的结果集

RESTORE FILELISTONLY
RESTORE  HEADERONLY
RESTORE VERIFYONLY
Run Code Online (Sandbox Code Playgroud)

进入自动生成的临时表?

我想使用类似的技术(因此表是自动创建的,所有列都匹配结果集的列)

SELECT * INTO #TempTable 
FROM (RESTORE FILELISTONLY FROM DISK = 'c:\Test\Test.bak')
Run Code Online (Sandbox Code Playgroud)

但这不起作用.如果我可以填充TempTable,那么我就可以在下面的SQL语句中使用它中包含的信息(在我的例子中是一个恢复DB语句,我需要使用RESTORE FILELISTONLY给出的结果集中包含的一些字符串)

我正在使用sql server 2008.

sql-server temp-tables database-restore sql-server-2008

6
推荐指数
2
解决办法
8885
查看次数

为什么我们需要全局临时表,它们的实际用例

我刚刚了解了全局临时表(我使用oracle作为db)并理解它们但却无法知道它们的确切用法.

顾名思义,它们用于保存临时数据/会话,在结束会话时,该会话的数据将消失.

什么是示例,我们需要使用它们的业务用例.

oracle temp-tables

6
推荐指数
1
解决办法
7592
查看次数

如何在redshift中创建和调用临时表

我想创建一个临时表并在redshift中调用此临时表?我试过这个,但得到了一条错误信息.

select  top 10 * into #a from public.item_activity where item_act_timestamp < DATEADD(day,-1,getdate());

select * from #a
Run Code Online (Sandbox Code Playgroud)

"错误:42P01:关系"#a"不存在"

temp-tables amazon-redshift

6
推荐指数
2
解决办法
2万
查看次数