用SQL Server数据库实现增删改查和存储过程

                                                                                                             SQL Server 数据库实现增删改查
     1.什么是存储过程?
             存储过程是SQL语句和控制语句的预编译集合,保存在数据库里,可由应用程序调用执行,而且容许用户声明变量,逻辑控制语句及其他强大的编程功能。
             存储过程可包含逻辑控制语句和数据操作语句,它可以接收参数,输出参数,返回单个或多个结果集及返回值。
     2.存储过程的优点?
           模块化程序设计          执行速度快          减少网络流量        具有良好的安全性
     
     创建存储过程的语法:
     
         CREATE  PROC [EDURE]   存储过程名
                     [ {@参数1   数据类型  }   [=默认值]    [OUTPUT]  
                      ............
                    {@参数n   数据类型 }   [=默认值]    [OUTPUT
               ]
          AS
                   SQL语句

      删除存储过程语法:

        DROP  PROC [EDURE]   存储过程名

   
       存储过程及增删改查示例代码:
--添加
create procedure usp_add
(
	@table nvarchar(255),
	@values nvarchar(max)=null
)
as
	declare @sql nvarchar(max)
	set @sql='insert into '+@table
	if @values is not null
		set @sql='insert into '+@table+' values('+@values+')'
	exec sp_executesql @sql
	select @@IDENTITY
go
exec usp_Add '数码' ,'''哦'',50,200'
go
--删除
create procedure usp_delete    --创建存储过程
(
	@table nvarchar(255),
	@where nvarchar(max)=null
)
as
	declare @sql nvarchar(max)
	set @sql='delete '+@table
	if @where is not null
		set @sql+=' where '+@where
	exec sp_executesql @sql
go
exec usp_delete '数码','id=1'
go
--修改
create procedure usp_update
(
	@table nvarchar(255),
	@set nvarchar(max),
	@where nvarchar(max)=null
)
as
	declare @sql nvarchar(max)
	set @sql='update '+@table+' set '+@set
	if @where is not null
		set @sql+=' where '+@where  
	exec sp_executesql @sql
go
exec usp_update '数码','StockName=''手机''','id=2'
go
--查找
create procedure usp_select
(
	@table nvarchar(255),
	@where nvarchar(max)=null
)
as
	declare @sql nvarchar(max)
	set @sql='select * from '+@table
	if @where is not null
		set @sql=@sql+' where '+@where
	exec sp_executesql @sql
go
exec usp_select 'Stock'
go
exec usp_select 'Stock','id=2'
go
















你可能感兴趣的:(SQL数据库)