SQLServer存储过程创建和修改的实现代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQLServer存储过程创建和修改的实现代码
打开SQL Server 2005的管理⼯具,选中需要创建存储过程的数据库,找到“可编程性”,展开后可以看到“存储过程”。
右键点击它,选择“新建存储过程”,右侧的编辑窗⼝打开了,⾥⾯装着微软⾃动⽣成的SQL Server创建存储过程的语句。
将存储过程的名字,参数,操作语句写好后,点击语法分析,没有错误就直接“F5”运⾏就好了,存储过程创建完毕,以下是⼀个基本的存储过程的代码:
CREATE PROCEDURE Get_Data
(
@Dealer_ID VARCHAR(<strong>50</strong>)
)
AS
SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID
点击查看实际例⼦
既然创建存储过程已经会了,那么修改还会难吗?显然不会。
修改存储过程也是相当的容易。
⾸先,刷新当前数据库的存储过程列表,这时就能看到你刚创建的存储过程的名字了,右键点击它,选择修改,右侧⼜打开了⼀个编辑窗⼝,装着的就是修改存储过程的代码(如下)
ALTER PROCEDURE [dbo].[Get_Data]
(
@Dealer_ID VARCHAR(<strong>50</strong>)
)
AS
SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID
简单的修改下吧,代码如下
ALTER PROCEDURE [dbo].[Get_Data]
(
@Dealer_ID VARCHAR(<strong>50</strong>),
@Period VARCHAR(<strong>20</strong>)
)
AS
SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID AND Period = @Period
F5 成功执⾏,修改存储过程完成。
开始写了⼀个存储过程,⽤来实现数据的插⼊操作,说⽩了就是添加数据。
这个存储过程的代码如下:
CREATE PROCEDURE PROC_INSERT_DATA_ID
@DealerID varchar(<strong>50</strong>)
AS
BEGIN
5 DECLARE @COUNT INT
SET @COUNT = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)
IF (@COUNT><strong>0</strong>)
BEGIN
DELETE FROM myDATA_Details WHERE DealerID = @DealerID
INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)
END
ELSE
BEGIN
INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)
END
END
--实际例⼦:/hovertreescj/sql/p_hovertreescj_urls_add.htm
F5⼀下,创建成功,调⽤它插⼊数据,OK,没问题插⼊成功,达到了预期的⽬的
⽤于更新数据,代码如下:
CREATE PROCEDURE PROC_INSERT_DATA_DETAIL
@DealerID varchar(<strong>50</strong>),
@FieldName varchar(<strong>2000</strong>),
@FieldValue varchar(<strong>2000</strong>)
AS
BEGIN
DECLARE @Count INT
SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)
IF (@COUNT><strong>0</strong>)
BEGIN
UPDATE myDATA_Details SET DealValue = @FieldValue WHERE DealerID = @DealerID
END
ELSE
BEGIN
INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)
END
END
或者:
修改后的代码
ALTER PROCEDURE PROC_INSERT_DATA_DETAIL
@DealerID varchar(<strong>50</strong>),
@FieldName varchar(<strong>2000</strong>),
@FieldValue varchar(<strong>2000</strong>)
AS
BEGIN
DECLARE @Count INT
DECLARE @StrSQL VARCHAR(<strong>2000</strong>)
SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)
IF (@COUNT><strong>0</strong>)
BEGIN
SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID
EXEC(@StrSQL)
END
ELSE
BEGIN
INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)
SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID
EXEC(@StrSQL)
END
END
以上所述是⼩编给⼤家介绍的SQLServer存储过程创建和修改实现代码,希望对⼤家有所帮助,如果⼤家有任何疑问欢迎给我留⾔,⼩编会及时回复⼤家的!。