sql存儲過程print
① sql server存儲過程用print就能列印,mysql存儲過程能列印么應該也行吧,但是找不到呢
每種語言都有自己的特色:
sqlserver 可以 print,可以直接select 返回數據。
其他語言不一定能行的。
比如Oracle,就不能直接select,不能直接print返回數據,只能通過其他函數顯示在控制台上,無法返回。
mysql我不熟悉,但我想不一定有這種功能,用這個試試:
好像Mysql存儲過程中沒有列印語句,可以用select 來代替,比如:
select @var;
在換不同語言的時候,舊的習慣會很困擾我們的。
② 在sql存儲過程中Print如何來設置時間
如果是判斷存儲過程的運行時間,那麼你@BeginTime2應該是在運行開始時,賦為當前日期值,在存儲過程最後列印,實際基本可以判斷出運行的分鍾數了吧。
日期類型需要轉換為字元串才能和字元串拼接
Convert(varchar(20),getdate(),20) 是日期轉換字元串的轉換函數其中最後的20是字元串格式化參數,比如Convert(varchar(20),getdate(),113),Convert(varchar(20),getdate(),120)都可以轉換為不同格式的日期顯示格式
Cast是強制類型轉換,在這里是將int類型轉換為字元串,使用方式舉例:cast (123 as varchar) ,cast('2434' as int) 具體可以看看SQL幫助(查詢分析器按F1)
Datediff是日期比較函數, 其中mi指兩個時間的分鍾差額,返回的是int類型,如果要拼到字元串中,也需要轉換為字元串.datediff還可以判斷相差的天數:
datediff(dd,'2010-12-25',getdate()) 年數、秒數等等,具體可以參考幫助和自己動手實驗了。
③ 如何使用print列印sql server存儲過程腳本
如何使用print列印sql server存儲過程腳本
使用PRINT一般是寫程序時觀察中間結果,對於你說的這種情況,可以直接用SELECT輸出結果,在存儲過程里也可以這樣。如果是在函數或者觸發器里,可以建個測試表,如果是表值函數則可以定義一個表變數。
如果一定要print,那麼這樣吧:
delcare @number int
declare @course nvarchar(30) --for example
select @number=number,@course=course from choice where studentnumber = '20100001'
print @number
print @course
④ 如何可以列印(顯示)出存儲過程中的SQL字元串
你可以在他注釋--print @sql那裡加上一句
select @sql
在下面就可以看到sql語句了,不過你要設置欄位的長度
或者之間就print @sql
在消息欄里就可以看見語句了
⑤ sql語句編寫存儲過程,使用游標循環列印學生表中的數據,求大神
寫一個例子給樓主看下就知道了:
在sqlserver2000中新建一個存儲過程:
CREATEPROCEDUREPK_Test
AS
//聲明1個變數
[email protected](20)
//聲明一個游標mycursor,select語句中參數的個數必須要和從游標取出的變數名相同
//打開游標
openmycursor
//從游標里取出數據賦值到我們剛才聲明的2個變數中
[email protected]
//判斷游標的狀態
//0fetch語句成功
//-1fetch語句失敗或此行不在結果集中
//-2被提取的行不存在
while(@@fetch_status=0)
begin
//顯示出我們每次用游標取出的值
print'游標成功取出一條數據'
[email protected]
//用游標去取下一條記錄
[email protected]
end
//關閉游標
closemycursor
//撤銷游標
deallocatemycursor
GO
⑥ 在SQL中存儲過程的一般語法是什麼
1、 創建語法
createproc|procerepro_name
[{@參數數據類型}[=默認值][output],
{@參數數據類型}[=默認值][output],
....
]
as
SQL_statements
2、 創建不帶參數存儲過程
--創建存儲過程
if(exists(select*fromsys.objectswherename='proc_get_student'))
dropprocproc_get_student
go
createprocproc_get_student
as
select*fromstudent;
--調用、執行存儲過程
execproc_get_student;
3、 修改存儲過程
--修改存儲過程
alterprocproc_get_student
as
select*fromstudent;
4、 帶參存儲過程
--帶參存儲過程
if(object_id('proc_find_stu','P')isnotnull)
dropprocproc_find_stu
go
createprocproc_find_stu(@startIdint,@endIdint)
as
select*[email protected]@endId
go
execproc_find_stu2,4;
5、 帶通配符參數存儲過程
--帶通配符參數存儲過程
if(object_id('proc_findStudentByName','P')isnotnull)
dropprocproc_findStudentByName
go
createprocproc_findStudentByName(@namevarchar(20)='%j%',@nextNamevarchar(20)='%')
as
select*[email protected]@nextName;
go
execproc_findStudentByName;execproc_findStudentByName'%o%','t%';
(6)sql存儲過程print擴展閱讀:
SQL存儲過程優點:
1、重復使用。存儲過程可以重復使用,從而可以減少資料庫開發人員的工作量。
2、減少網路流量。存儲過程位於伺服器上,調用的時候只需要傳遞存儲過程的名稱以及參數就可以了,因此降低了網路傳輸的數據量。
3、安全性。參數化的存儲過程可以防止SQL注入式攻擊,而且可以將Grant、Deny以及Revoke許可權應用於存儲過程。
⑦ sqlserver2005中,為什麼在存儲過程中使用print不起作用。
你不執行 存儲過程 怎麼輸出 你上面的只是 創建而已 exec proc_test
執行你的存儲過程
⑧ 使用SQL語句創建存儲過程
使用SQL語句創建存儲的具體過程如下:
1、首先,打開企業管理器,選擇【工具】-【查詢分析器】: