易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL 2005 存储过程 调试

SQL 2005 的存储过程和触发器调试大法(原创)
www.chengchen.net 程晨
       昨天晚上我找遍了互联网也没有发现关于SQL2005存储过程和触发器的调试方法,研究到凌晨2点多钟,终于找到方法了,不干独享,拿出来分享。如果要转载,请保留版权,谢谢!
       在SQL2000中,我们想要调试存储过程非常简单,只需要在对象浏览器中找到存储过程,然后点击鼠标右键选择“执行(调试)”就可以弹出一个工具栏出来,进行调试。然而到了SQL2005中同样的操作却变成了生成一段SQL语法,没有调试功能,如果使用了Express版本会更加郁闷,连“执行”菜单都没有,如图所示:Express版本中,菜单中根本没有“执行”功能。
那么调试功能到什么地方去了呢?
别急,我找到了。原来微软把调试功能放在了VS2005中了。注意是VS2005,不是SQL2005,打开VS2005,选择工具、再选择“连接到数据库”。选择正确的数据库名和表名,填入正确的登陆信息就可以了,如图:
在"服务器资源管理“就可以看到写在数据库中的存储过程和触发器代码了,右击相应的存储过程,便可以看见”单步执行调试“的字样如图所示:如果这段存储过程可以触发”触发器“中代码,那么触发器的代码也是可以调试的。
我来举个例子调试一下。
1、在数据中建立一个表AllMoney
列 ID   类型 INT ,该字段为自增字段,每插入一条数据就增加一个。
列 MyMoney 类型 Money
2、在数据中建立一个表LastID
列 ALLMoneyID 类型为INT,该字段将通过触发起自动更新值,当表AllMoney每插入一列的时候,这个字段就自动更新为AllMoney中的最大ID值。
3、建立存储过程给AllMoney添加数据:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE SP_InsertMoney
    @MyMoney AS MONEY
AS
BEGIN
    SET NOCOUNT ON;
    INSERT INTO AllMoney(MyMoney) VALUES(@MyMoney)
END
GO
4、在表AllMoney中建立触发器,更新表LastID
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER INSERT_LastID
   ON AllMoney
   AFTER INSERT
AS
BEGIN
    SET NOCOUNT ON
    DECLARE @ID AS INT
    SELE


相关文档:

【转】关于"递归树形查询SQL"的好帖

-----------------------------------------------------------------------------------------------------------------------
create table tb(id varchar(3) , pid varchar(3) , name varchar(10))
insert into tb values('001' , null  , '广东省')
insert into tb values('002' , '001' , '广州市')
insert i ......

SQL 删除重复数据,只保留1条

if not object_id('Tempdb..#T') is null
    drop table #T
Go
Create table #T([ID] int,[Name] nvarchar(1),[Memo] nvarchar(2))
Insert #T
select 1,N'A',N'A1' union all
select 2,N'A',N'A2' union all
select 3,N'A',N'A3' union all
select 4,N'B',N'B1' union all
select 5,N'B',N'B2'
G ......

SQL 找出多个字段满足其中一个字段的新写法

找出TABLE1中
Column1 满足value1
或者
Column2 满足value2
或者
Column3 满足value3
的纪录
SELECT top 10 * from TABLE1
WHERE
CASE WHEN COLUMN1='value1' THEN 1
ELSE
(CASE WHEN COLUMN2='value2' THEN 1
ELSE
(CASE WHEN COLUMN3=value3 THEN 1 ELSE 0 END)
END)
END =1 ......

SQL Server 2005 系统数据介绍:sys.dm_exec_requests







针对 SQL Server 内正在执行的每个请求返回一行。sys.dm_exec_connections
、sys.dm_exec_sessions
 和sys.dm_exec_requests
 服务器范围动态管理视图映射到 sys.sysprocesses
 系统视图(先前为系统表)。
注意:
若要执行在 SQL Server 以外的代码(例如,扩展存储过程和分 ......

关于sql更改计算机名和服务器名一致或"错误 18483

今天在配置数据库发布和分发时总是报出现 18483 错误
提示说:错误 18483:未能连接到服务器 "XXX",因为 'distributor_admin'未在该服务器上定义为远程登陆。
我的发布和分发是同一个服务器,"XXX" 为我的机器名,分发数据库是默认的名称,而我在另外一台机器上做时就正常。
1、设置共享复制目录:
      ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号