sqlserver執行存儲過程
SQL Server存儲過程相信大家都接觸過,下面就教您如何實現SQL Server存儲過程的單步調試,希望可以讓您對SQL Server存儲過程有更深的認識。
1)調試
在SQL Server的SQL Query Analyzer(查詢分析器)中,打開Object Brower(F8),在左邊的列表中選擇一資料庫,展開Stored Proceres,然後選擇要調試的存儲過程(或任意一個存儲過程),按右鍵,點擊「Debug」,則彈出Debug Procere對話框,顯示該存儲過程的參數(可在Proceres列表中選擇其他要調試的存儲過程),為參數輸入初始值,點擊「Execute」按鈕,進入Debug窗口;可使用上面一排按鈕或其對應的快捷鍵對該存儲過程進行「執行」「設斷點」「取消斷點」「單步跟蹤」等操作;窗口下方是參數列表,第一個是自定義參數變數列表,在Debug的過程中顯示全局變數和局部變數的值的變化,可對參數列表中該存儲過程的參數初值進行修改,再重新調試;第二個列表是系統變數,可自行增加,如添加「@@Error」「@@RowCount」,觀看其值的變化,其值不能手工修改。第三個列表是CallStack,暫時不知道怎麼用。在參數列表中,不能直接把User_Name()、GetDate()等函數直接放到參數列表中跟蹤,要把它們賦值予自定義變數進行查看。
大家可連接Pivot的SQL Server進行嘗試,使用本機DB系統如果不行,則需要用Administrator登錄本機,然後在企業管理器中,在本機的SQL Server Registration上點擊右鍵,點「屬性」,選擇「Security」,選擇「This account」,輸入Administrator和密碼,確定之。
2)SQL Server存儲過程單步調試
具體步驟如下:
1、將伺服器【身份驗證】屬性設置成【混合模式】(window與sql身份驗證)
2、在【控制面板】中打開【服務】將【MSSQLSERVER】服務打開【屬性】,選擇【登錄】頁面,將登錄身份設置成伺服器本地帳號和該帳號密碼,如administrator,密碼123;
3、重新啟動sqlserver服務,此時的服務指的是【SQL服務管理器】中的SQL SERVER服務;
假設【帳號】設置為administrator
此時達到的效果是:伺服器本地帳號administrator與客戶端上的administrator(並且該帳號的密碼要與伺服器密碼相同)可以通過【查詢分析器】進行調試;
如果想讓【其他帳號】也能夠調試,那麼還需要如下設置:
1、在【伺服器】上運行dcomcnfg.exe;
2、在【默認安全機制】中【默認訪問許可權】右邊點擊【編輯默認值】選擇允許調試的帳號類型,如users用戶類型,sample帳號有包含users組;
3、重新啟動sqlserver服務;
3、在客戶端上創建與服務帳號密碼一樣的用戶,如sample;
做到這步就可以通過查詢分析器的調試功能進行單步調試了
『貳』 怎樣讓sqlserver後台定時執行某個存儲過程
SQL代理中添加工作計劃(job)
『叄』 SqlServer如何設置每秒執行存儲過程
打開SQL Server Management Studio,SQL Server代理--作業--點右鍵--新建作業
作業的名稱取為:test
並進行說明,若作業的數量太多,以方便區別;
這里寫上定時執行存儲過程Pr_test
確定保存.
點擊常規下面的步驟,按箭頭指示,新建步驟.
取名步驟名稱:exec pr_test
注意選擇存儲過程所在的資料庫
錄入需要執行的命令:exec pr_test ,確定保存.
若有其它參數命令也可以編寫
接下來設置計劃,自動定時執行的時間.
新建計劃,進放計劃屬性設置窗口.
6
依然要填寫計劃的名稱:exec pr_test
計劃類型:重復計劃
時間頻率:每月的26日的12點30分自動執行一次
持續時間:無結束日期
確定保存.到此基本功能已經設置完成,額外其它功能可以根據需要進行增加.
『肆』 sql server中怎樣用代碼創建存儲過程
打開SQL server management studio,連接到資料庫,展開想要創建的資料庫,找到【可編程性】->【存儲過程】的菜單
『伍』 sql sever 的系統存儲過程包括那些
sqlserver許多管理和信息活動可以通過系統存儲過程執行。系統存儲過程按這些分類分組
主要有SP開頭和XP開頭兩種類型。具體的作用如下
sp開頭的一般是Active
Directory
過程、目錄過程、游標過程、資料庫維護計劃過程、分布式查詢過程、全文檢索過程、日誌傳送過程、OLE
自動化擴展存儲過程、復制過程、安全過程、SQL
事件探查器過程、SQL
Server
代理程序過程、系統過程、Web
助手過程、XML
過程
xp開頭的是常規擴展過程、SQL
Server
代理程序過程
不知道樓主看明白了,如果有什麼明天可以補充問題。
『陸』 sqlserver執行多個存儲過程
我學得你這個可以試試 union ,sql1 後面直接跟 union 在接sql2,查詢出來的結果是sql1和sql2的集合,可以試試
『柒』 sqlserver窗口怎樣執行存儲過程語句
存儲過程保存的方式和每個表的保存方式是一樣的,都保存在定義的資料庫中,使用select * from sysobjects 可是實現查詢,他與表的區分是表的xtype=『U』 而存儲過程的類型是xtype='p',如查詢存儲過程的語句是:
select * from sysobjects where xtype='p' 如果想查看存儲過程的源語句可以使用sp_helptext 命令,打開存儲過程。比如要打開的存儲過程的名字是pro_a 你需要在查詢分析器裡面選擇存儲過程所在的資料庫,然後輸入 sp_helptext pro_a 然後執行,就可以在下面的結果窗口顯示存儲過程的內容了
『捌』 SQL Server的存儲過程怎麼寫
SQL server中如何存儲:
首先准備數據,測試存儲過程
use ssqadm;
創建測試books表
create table books_test ( book_id int identity(1,1) primary key,
book_name varchar(20),book_price float,book_auth varchar(10));
插入測試數據
insert into books_test (book_name,book_price,book_auth)values
('論語',25.6,'孔子'),
('天龍八部',25.6,'金庸'),
('雪山飛狐',32.7,'金庸'),
('平凡的世界',35.8,'路遙'),
('史記',54.8,'司馬遷');
select * from books_test;*/
創建無參存儲過程
if (exists (select * from sys.objects where name = 'getAllBooks'))
drop proc getAllBooks
go
create procere getAllBooks
as
begin
select * from books_test;
調用,執行存儲過程
exec getAllBooks;
end
go
修改存儲過程
alter procere getallbooks
as
select book_name from books_test;
修改存儲過程的名稱
sp_rename getallbooks,proc_get_allbooks;
go
exec proc_get_allbooks;
go
創建帶參數的存儲過程
use ssqadm
go
if (exists (select * from sys.objects where name = 'searchbooks'))
drop proc searchbooks
exec searchbooks
執行存儲searchbooks得到如下結果:
go
create procere searchbooks (@bookid int)--括弧裡面是
as
begin
declare @book_id int;定義一個標量變數,只是保證存儲過程的完整性,在本存儲是多此一舉的。
set @book_id = @bookid;
select* from books_test where book_id = @book_id;
end;
go
-- exec searchbooks
執行存儲searchbooks得到如下結果:
創建帶兩個參數的存儲過程
use ssqadm
go
if (exists (select * from sys.objects where name = 'book_test2'))
drop proc book_test2
exec book_test2
執行存儲book_test2得到如下結果:
go
create procere book_test2
(@bookid int,@bookname varchar(20))括弧裡面是
as
begin
declare @book_id int;
定義一個標量變數,只是保證存儲過程的完整性,在本存儲是多此一舉的。
declare @book_name varchar(20);
set @book_id = @bookid;
set @book_name = @bookname;
select* from books_test where book_id =
@book_id and book_name = @book_name;
end;
go
exec book_test2
(8)sqlserver執行存儲過程擴展閱讀:
SQL Server中查詢存儲命令子句:
USE [SSQADM]
Use 是跳轉到哪個資料庫,對這個資料庫進行操作。
GO
GO向 SQL Server 實用工具發出一批 Transact-SQL 語句結束的信號,相當於提交上面的SQL語句。
GO是把t-sql語句分批次執行
(一步成功了才會執行下一步,即一步一個GO)
/****** Object: StoredProcere [dbo].[PROC_four_five_hr]
Script Date: 07/30/2018 13:44:55 ******/
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ON
『玖』 sqlserver存儲過程怎麼調試
最近在做vb項目的時候,用到了存儲過程的調試,現在總結一下發現單步調試存儲過程有以下2種方法:
1.這種方法自己已經做過,是可以的,如下:
a.如果目標資料庫存在存儲過程,右擊該存儲過程-修改,打開存儲過程,並在需要的地方設置斷點。(如果沒有自定義存儲過程,則需要在Sql Server 2012資料庫中創建存儲過程,完成後在裡面設置斷點);
b.另外開啟一個新建查詢窗口,寫入調用代碼:例如 exec BillManageInputProc '主單1','0111111','0111112','121','legend','2014-09-24','001','2014-09-24','1','市場部','0' ,單擊 調試按鈕 啟動存儲過程的調試;
c.單擊 F 11 進行逐句調試。
2.在vs2010調試存儲過程步驟如下:
首先,打開vs,點擊 視圖-->伺服器資源管理器
http://www.cnblogs.com/caishiquan/p/4050237.html
『拾』 怎樣在Sql server中創建,執行和刪除存儲過程
sqlserver存儲過程的基本操作:
一、創建存儲過程
1、語法格式:
createproc|procerepro_name
[{@參數數據類型}[=默認值][output],
{@參數數據類型}[=默認值][output],
....
]
as
SQL_statements
以上是最基本語法,舉個簡單的例子:
CREATEprocp_test
as
selectretu=1
存儲過程返回一個結果集:1
2、執行存儲過程
EXECUTEProcere_name''--存儲過程如果有參數,後面加參數格式為:@參數名=value,也可直接為參數值value
例子調用結果:
dropprocereprocere_name--在存儲過程中能調用另外一個存儲過程,而不能刪除另外一個存儲過程