我在使用临时表时遇到了一个非常奇怪的问题。我在代码中创建了一个临时表,在MSSQL中的tempdb.sys.tables下也显示出来了,但是如果我尝试从它里面选择数据,就会出现“无效对象名'#Update'”的错误。
如果我直接将创建临时表的SQL代码从我的代码中复制并粘贴到MSSQL管理器中运行,它就会创建这个临时表,然后我就可以从中选择数据。此时,在tempdb.sys.tables中会显示两个完全相同的临时表。
也许我忽略了什么,但这似乎很奇怪。
如果我直接将创建临时表的SQL代码从我的代码中复制并粘贴到MSSQL管理器中运行,它就会创建这个临时表,然后我就可以从中选择数据。此时,在tempdb.sys.tables中会显示两个完全相同的临时表。
也许我忽略了什么,但这似乎很奇怪。
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
//Execute the command to make a temp table
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandType = CommandType.Text;
cmd.CommandText = "create table #UpdatePOS (Store_ID nvarchar(50), POSItem_Id nvarchar(50), POSSalesDate datetime, LastModifiedWhen datetime, UpdateResult bit, QTY decimal(18,0));";
cmd.ExecuteNonQuery();
}
}
谢谢!