1. 程式人生 > >動態執行Sql語句與臨時表的問題(物件名無效)

動態執行Sql語句與臨時表的問題(物件名無效)

exec('selectIDENTITY(int,1,1)  as ID,fnum,into  #yuecu  from  store_store where  '+@Parameter)  
select  XX,XX1,XX2  from  #yuecu 

這樣建立一個臨時表以後我再想從臨時表中取資料提示物件名#yuecu 無效,暈,如果我不是使用exec()執行sql語句的話就沒有任何問題,WHY?  

臨時表有作用域的,上面的臨時表只在EXEC內部有效。

解決辦法:

改用全域性臨時表

exec('selectIDENTITY(int,1,1)  as ID,fnum,into  ##yuecu  from  store_store where  
'+@Parameter)  

select*from  ##yuecu  

相關推薦

動態執行Sql語句臨時的問題(物件無效)

exec('selectIDENTITY(int,1,1)  as ID,fnum,into  #yuecu  from  store_store where  '+@Parameter)  select  XX,XX1,XX2  from  #yuecu 這樣建立一個臨時表

sql語句使用內嵌檢視臨時示例

某些時候,查詢需要將資料與其他一些可能只能通過執行 GROUP BY 然後執行標準查詢才能收集的資料進行聯接。例如,如果要查詢最新五個定單的有關資訊,您首先需要知道是哪些定單。這可以使用返回定單 ID 的 SQL 查詢來檢索。此資料就會儲存在臨時表(這是一個常用技術)中,然後

sql Server中臨時數據的區別

tzu bio 默認 omx msu oaf sum nmp dia sql server 中臨時表與數據表的區別 1、如何判斷臨時表和數據表已生成 --如何判斷臨時表是否已創建--- if exists(select * from tempdb..sysobjects

SQL基本操作——select into臨時

weight sql基本操作 bsp 臨時表 arc table rst get 需要 SELECT INTO 語句從一個表中選取數據,然後把數據插入另一個表中,常用於創建表的備份復件或者用於對記錄進行存檔。 --制作 "Persons" 表的備份復件: SELECT *

spring-data-jpa動態拼接sql語句實現動態的多條件查詢

** spring-data-jpa 動態拼接sql語句 ** spring-data-jpa對於簡單的資料操作確實使用起來比較方便,但是對於一些比較複雜的動態的多表條件查詢就不是那麼簡單了,對於需要些sql語句並且需要動態的新增條件的時候就得使用jpa的EntityManager來

執行sql語句失敗(包含order)

錯誤資訊:[42000][1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to us

怎麼建立JDBC語句物件執行SQL語句(詳解)

JDBC執行SQL語句: 一旦獲得了連結,我們可以與資料庫進行互動。JDBC Statement和PreparedStatement 介面定義了使 您能傳送SQL命令並從資料庫 進行接收資料的方法和屬性。 1.Statement:建立語句物件 在使用Statement

java連線資料庫和執行靜態和動態sql語句

►JDBC (Java DatabaseConnectivity) 是用於執行SQL 語句的Java 應用程式介面,由一組用Java 語言編寫的類和介面組成。 ►JDBC 是一種規範,各資料庫廠商為J

ado.net EFado.net區別比較、在EF中使用執行sql語句

ado.net EF作為微軟的一個ORM框架,通過實體、關係型資料庫表之間的對映,使開發人員可以通過操作表實體而間接的操作資料庫,大大的提高了開發效率。 這樣一來,.net平臺下,我們與底層資料庫的互動就有兩種選擇了(這句話說得不是很準確,微軟.net 框架下還是有其他的O

C#之執行SQL語句:Command物件

       在使用ADO.NET中的連線資料庫:Connection物件連線上資料庫之後,我們下面所做的就是對資料庫中的資料進行操作。在ADO.NET中,是通過執行SQL語句:Command物件來對

SQL資料庫 儲存過程、索引、檢視臨時

--資料庫程式設計2. --儲存過程  exec  --執行速度快:儲存過程是編譯之後的語句,儲存在資料庫的內容;儲存過程的操作只有一次。--系統儲存過程 存放在master資料庫中,都以“sp_”或“xp_”開頭 exec sp_databasesexec sp_r

sql語句-關於自身連線之joinleft join

1、建立表 drop table if exists t_user; create table t_user( id int(11) not null auto_increment, user_id int(11), user_name varchar(100),

EF執行SQL語句 結果和直接在Sqlserver中執行結果不一致

enume 出了 text con query context png syn raw 先說問題 直接執行sql的結果 var result = base.Context.Customers.SqlQuery(sql);   sql 語句是打斷點取得的,連接的也

EF執行SQL語句和存儲過程

div spa rip mman code rom {0} base result EF雖然使用對象化的方式避免了我們寫SQL,但是對於部分SQL,例如需要復雜的查詢、執行插入和刪除等可以操作,直接執行SQL可以減少減少性能上的損失。 使用EF執行SQL可以通過Execut

如何一條sql語句查找中第二大值

roman splay 排名 數據庫 依然 sel col eight over 例1: 一個Customer表,一個字段Value,現請問如何查到Value中第二大的值 select max(value) from Customer

Shell腳本中執行sql語句操作

out ins host source con more char 演示 -1   這篇文章主要介紹了Shell腳本中執行sql語句操作mysql的5種方法,本文講解了將SQL語句直接嵌入到shell腳本文件中、命令行調用單獨的SQL文件、使用管道符調用SQL文件等方法,需

shell 腳本中執行SQL語句 -e "..."

... from rom bin 執行 dev use class col /usr/local/mysql/bin/mysql -uroot -p123456 -e " use faygo source faygo.sql select * from devquit "

為什麽要參數化執行SQL語句呢?

執行sql 漏洞攻擊 用戶輸入 lec bsp 參數化 查找 作用 找到 C#參數化執行SQL語句,防止漏洞攻擊本文以MYSQL為例【20151108非查詢操作】 為什麽要參數化執行SQL語句呢? 一個作用就是可以防止用戶註入漏洞。 簡單舉個列子吧。 比如賬號密碼登入,如

Shell命令行執行SQL語句

list res process out def slist ssl 數據庫 default 工作中通常需要編寫Shell腳本,執行SQL語句,下面總結幾種數據庫利用shell執行SQL語句的方法: 一、MySQL數據庫: mysql --defaults-file=.my

SQL語句中----刪除數據drop、truncate和delete的用法

ali index invalid 表結構 back 標識 -- 等保 convert 一、SQL中的語法 1、drop table 表名稱 eg: drop table dbo.Sys_Test 2、trunca