1. 程式人生 > >儲存過程 建立全域性臨時表

儲存過程 建立全域性臨時表

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


CREATE PROCEDURE CreateTempTableForPostIdWithIdentity 
-- Add the parameters for the stored procedure here
@StartWith int
AS






BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;





--Create Temp Table
IF Object_id('Tempdb..##PostIdWithIdentity') IS NOT NULL  
DROP TABLE ##PostIdWithIdentity  
 
CREATE TABLE ##PostIdWithIdentity 
(
ID   int IDENTITY (1,1)     not null,
PostId nvarchar(255),
Tags nvarchar(MAX),
primary key (ID)   
)
truncate table ##PostIdWithIdentity 
insert into ##PostIdWithIdentity(PostId,Tags) select Id,Tags from [InstagramData].[dbo].[Post] 
Select Top(10)* from ##PostIdWithIdentity 


    -- Insert statements for procedure here
--SELECT row_number() over (order by Id asc) as id,Id as PostId,Tags From  [InstagramData].[dbo].[Post] 
END
GO



相關推薦

儲存過程 建立全域性臨時

SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE CreateTempTableForPostIdWithIdentity -- Add the parameters for the stor

如何解決儲存過程中關聯臨時時快時慢的情況

     呼叫一個儲存過程,同樣的條件,資料庫負載也是正常的情況下,時快時慢。原因是資料庫無法獲取臨時表的統計資訊,導致執行計劃會走錯。之前寫過一個帖子,被臨時表坑了,http://blog.csdn.net/stevendbaguo/article/details/399

oracle儲存過程中使用臨時

1、儲存過程中動態建立表失敗,提示許可權問題,execute immediate 'create global temporary t1 as select * from table1';  解決:  1-授權 create any table  2-儲存過程中加AUT

sqlserver 儲存過程中使用臨時到底會不會導致重編譯

曾經在網路上看到過,SqlServer的儲存過程中使用臨時表,會導致執行計劃無法重用, 執行時候會導致重編譯的這麼一個說法,自己私底下去做測試的時候,根據profile的跟蹤結果, 如果不是統計資訊變更導致導致的重編譯,單單是使用臨時表,並不會導致重編譯, 但是對於

Mysql儲存過程(六)——儲存過程中使用臨時

Mysql 不支援陣列。但有時候需要組合幾張表的資料,在儲存過程中,經過比較複雜的運算獲取結果直接輸出給呼叫方,比如符合條件的幾張表的某些欄位的組合計算。 Mysql 臨時表可以解決這個問題。 臨時表:只有在當前連線情況下, TEMPORARY 表才是可見的。當連線關閉時

mysql儲存過程建立臨時,從別的賦值給這個臨時

DELIMITER // CREATE PROCEDURE baseweb.test16() BEGIN     DROP TABLE d;     CREATE TEMPORARY TABLE d(id INT,numbers VARCHAR(50));     INSE

mysql儲存過程--建立以及根據已有的進行分分庫

建立多表的儲存過程 /* -----------------------t_user分表SQL--------------------------------*/ drop PROCEDURE if exists import_user_data; create PROCEDURE

關於mysql儲存過程建立動態名及引數處理

轉載請註明出處:簾卷西風的專欄(http://blog.csdn.net/ljxfblog) 最近遊戲開始第二次內測,開始處理操作日誌,最開始把日誌放到同一個表裡面,發現一天時間,平均100玩家線上,操作記錄就超過13萬條,決定拆表,按照日期來儲存日誌,每天的日誌存到一個表裡

SQL知識整理一:觸發器、儲存過程、變量臨時

<pre name="code" class="javascript">$('#dd2').draggable({ proxy:'clone' }); 一、觸發器 create trigger tr_name on table/view {for

MySql 區域性-全域性臨時 temporary是session級的,建立後用show tables也看不到它。

SQL Server建立臨時表: 建立臨時表 方法一: create table #臨時表名(欄位1 約束條件,欄位2 約束條件,…) create table ##臨時表名(欄位1 約束條件,欄位2 約束條件,…) 方法二: select *

用oracle儲存過程建立

create or replace procedure createtable(tname in varchar2) is SQLTEXT varchar2(400); v_createsql varchar2(400); v_dropsql var

MySQL利用自定義函式和儲存過程建立海量,並使用索引優化

昨天學習韓順平老師的視訊時明白了上一章explain的意義,為了自己的聯絡,我學著建立了一個海量表,供自己練習使用。 程式碼如下: #建立表DEPT CREATE TABLE dept( /*部門表*/ deptno MEDIUMINT UN

[終章]進階20-流程控制結構--if/case/while結構 - 三個while的儲存過程案例(批量生成單資料) - 隨機長度的隨機字串的儲存過程案例

1. mysql 儲存過程中儘量使用 @變數 而不用區域性變數, @變數不容易報錯!許可權小,更改一下就報錯! 2. sql中判斷相等'=' ,用'=' 不用'=='. 3. #流程控制結構 /* 順序結構: 程式從上往下依次執行; 分支結構: 程式從多條路徑中選擇一條往下執行

Oracle 編譯儲存過程報錯: 或檢視不存在問題分析與解決

今天遇到一個問題,自己寫了一個很簡單的儲存過程,編譯的時候,報錯: 表或檢視不存在;      但是:表確實是存在,單獨拿出來查詢,一點問題也沒有。      經過幾番查詢,找到了問題所在: 查詢表的許可權不夠; 解決方案:

使用資料庫儲存過程建立初始化資料記錄

目標需求:後臺管理系統的初始化管理員由於需繫結地區編碼,傳統手動建立使用者由於關聯表格較多,一次建立需花費較多時間,如若在後臺建立初始化服務存在一定的風險,擇優選擇資料庫指令碼自動生成 使用者表:t_admin_user CREATE TABLE `t_admin_user` (  

二十八、全域性臨時用於多delete操作的SQL優化

          全域性臨時表用於多delete操作的SQL優化        某日,某某生產系統忽然日誌暴增,

mysql 儲存過程建立及呼叫

返回(查詢users表的條數 + 傳入的數字) CREATE DEFINER=`root`@`localhost` PROCEDURE `getcount`(OUT s INT, IN t INT) BEGIN SET @t = (SELECT COUNT(1) FROM users);

SQL SERVER儲存過程批量插入資料庫資料

CREATEPROCEDURE add_UserInfoASDECLARE@userCodeVARCHAR(30)DECLARE@userNameVARCHAR(30)DECLARE@userCode_baseVARCHAR(30)DECLARE@countINTEGERDECLARE@indexINTEGE

ORACLE儲存過程建立和呼叫

主要總結下遇到個幾個問題: 1、在業務程式碼執行時,賦值給一個變數,需要使用:=,而不是=; 2、在plsql中執行完建立語句,呼叫報錯 解決辦法: 右鍵編輯儲存過程,在控制檯中可以看到報錯資訊,點選錯誤資訊,可以看到出錯程式碼被標紅 3、在查詢資料

儲存過程用到的、分組、排序、聯結

查詢儲存過程用到的表,並進行分組、排序、聯結: 1 SELECT 2 REFERENCED_OWNER, 3 REFERENCED_NAME, 4 LISTAGG(XH||'>'||NAME,',') WITHIN GROUP(ORDER BY