1. 程式人生 > >儲存過程中將sql語句結果賦值給變數

儲存過程中將sql語句結果賦值給變數

create  procedure procname
AS
declare @recount int
select @recount=count(id) from school

--最關鍵在這句
select @recount=count(id) from school
select @recount=select count(id) from school -- 錯誤:這裡就不再需要select了

set @recount=count(id) from school -- 錯誤這裡只能用select不能用set


 如果school為一個@chart引數的話,上面方法就不適用了
應該為:

declare @getRecordSql nvarchar(100)
set @getRecordSql='select @recordcount=count(1) from

'[email protected]
exec sp_executesql @getRecordSql,N'@recordCount int output',@recordCount output

N'@recordCount int output',@recordCount output
做一個引數的替換,如果測試一下:print @recordCount的話就會顯示行數


 //示例:選擇最新的5條資料從20條開始

execute A_School_getNew 5,20

--儲存過程

create procedure A_School_getNew
 @Size int,
 @StartIndex int
AS
declare @recount int
declare @Sql nvarchar(120)
select @recount=count(id) from school
set @Sql='select top '+convert(nvarchar,@Size)+'id,school_name from school where('+
 'ID not in(select top '+convert(nvarchar,@

[email protected][email protected])+
 ' id from school)) order by id desc';
execute (@Sql)

相關推薦

儲存過程中將sql語句結果變數

create  procedure procnameASdeclare @recount intselect @recount=count(id) from school --最關鍵在這句select @recount=count(id) from schoolselect

SqlServer中儲存過程中將Exec的執行結果變數輸出

背景: 遇到這樣一種情況:動態向儲存過程中傳入表名和表的某些屬性(這裡用到的是主鍵ID),然後利用這兩個變數查出一條資料的某些欄位值,然後再利用這些值進行邏輯運算(自己的邏輯),最後將結果輸出。話不多說,直接上圖,看是否是你想要的結果: 說明:【區域1為要用來測試的表】【 區域2 為表中資料】【區域3

SQL中將查詢結果變數

DECLARE @sql nvarchar(4000),@called_calls  INT      SET  @sql  ='SELECT @a=COUNT(*) FROM users as u

SQL的執行結果變數,然後將其作為while的條件,迴圈執行SQL

主要的SQL指令碼如下: BEGIN DECLARE V INT DEFAULT 1; DECLARE ARGS INT DEFAULT 0; #宣告變數 SELECT COUNT(*

linux shell將命令結果變數 shell assign command output to variable

1. 命令     1.1     反引號``    (也就是tab上面~鍵)            ~ a=`echo "hello world"

Linux shell指令碼中執行命令結果變數&&echo輸出變數是否包含換行符的問題

Linux shell指令碼中執行命令結果賦值給變數&&echo輸出變數是否包含換行符的問題 echo $ret 和 echo "$ret" 區別: 如果是echo $ret,輸出結果為一行,沒有換行符 如果是echo "$ret",輸出結果為多行,有換行符

mysql儲存過程例項,查詢多引數

drop procedure if exists p_for_create_customer; create procedure p_for_create_customer()begin declare ii int default 0; declare i int default 1; declare

MYBATIS+DB2儲存過程驗證SQL語句正確性

1.啟用DB2的explain功能:(需要有操作) a.執行~sqllib/MISC/EXPLAIN.DDL b.CALL SYSPROC.SYSINSTALLOBJECTS('EXPLAIN','C',NULL,CURRENT SCHEMA)--需要有DBA的許可權 2.

sqlserver儲存過程拼接sql語句,執行報錯“列名無效”

今天寫儲存過程,遇到一個問題,具體如下:需求是要統計一張報表,這張表的列不固定,因此在儲存過程裡做插入語句的時候,就用到了sql語句拼接再執行。這裡拼接的insert語句是set @sql= 'insert into ##tn(prj) values('[email 

bat/cmd將命令執行的結果變量

nbsp 圖片 引號 ima 技術 需要 short rev alt 比如我想把git代碼的commitid獲取以後加到文件夾上來標記文件夾中的包是哪個git 節點構建得到的。 git 命令是git rev-parse --short HEAD 再linux系統下,只需要執

php後臺查詢結果前臺js的一位陣列

var android_name = []; var android_count = []; var i = 0 ; <?php foreach($AndroidCountByPhoneName as $k => $v){ ?> //注意:1.這裡最好對結果資料用雙引號引起

Java中兩個byte型別相加結果byte型別的變數會報編譯錯誤,byte加byte的結果為什麼是int?

背景: 之前偶然看到有討論這個問題,在網上搜了半天,結果都不盡如人意,解釋沒有到位, 有的說byte加byte預設就是int,那為什麼這麼做呢? 這不是找麻煩麼?這種奇怪的預設還有哪些?帶來一些列疑問。。。。。。 有的說byte儲存的就是整型資料,這種說法的對錯姑且不論,至少我覺得難免有

JAVA開發12--將oracle查詢結果JAVA變數

        List<String> account_filter=new ArrayList<String>();  //陣列         String sql_a

將命令結果一個變數

#!/bin/bash a=23 # Simple case echo $a b=$a echo $b echo # Now, getting a little bit fancier (command substitution). a=`e

shell 中將執行命令變數

pid=`ps -ef | grep "/usr/sbin/csrassd" | grep  -v grep | awk '{print $2}'`grep -v grep  忽略grep本身賦值注意用反引號`` 

三元表示式 result='gt' if 1>3 else 'lt' 如果條件為真,把if前面的變數,否則把else後面的變數

https://docs.python.org/3/tutorial/datastructures.html?highlight=list%20comprehension#list-comprehensions 以上是官方文件。5.1.3. List Comprehensio

Matlab獲取資料夾下所有檔名並將資料按矩陣變數

fileFolder=fullfile('D:\MATLAB\bin\trc'); dirOutput=dir(fullfile(fileFolder,'*.trc')); fileNames={dirOutput.name}; n = 1; for i=fileNames

shell指令碼:base64加密、解密字串並變數方法

幾經波折才能夠實現使用 base64 加密、解密字串並賦值給變數。網上絕大多數是使用 echo 管道實現 加密和解密字串的輸出。 程式碼如下: pwd=$( base64 -d <<< MQo= ) # 解碼 in=$( base64 <&l

單引號內引入變數 shell 命令輸出變數,以及用變數替換命令

單引號內巢狀單引號即可使用變數。 #!/bin/bash i=10 echo $i echo '$i'echo '$i is : '$i'' 執行結果 # ./test.sh  10 $i $i is : 10 單引號內巢狀單引號即可使用變數。 將命令賦值給變數,和將命令

shell指令碼中變數中有空格, 導致命令執行失敗

功能需求 統計指定時間程式傳送的資料量(按照發送時間) 傳送時間格式2017-12-14 16:18:11, 本來向獲取小時格式 date +'%Y-%m-%d %H' --date="-