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--在存储过程中能调用另外一个存储过程,而不能删除另外一个存储过程