SQL Server SQL创建的几种存储过程
这篇文章主要为大家详细介绍了SQL Server SQL创建的几种存储过程,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
创建存储过程表名和比较字段可以做参数的存储过程Create PROCEDURE sp_getTeacherInfo@TblName nvarchar(30), -- 表名@CmpStr nvarchar(30), -- 参与比较的值@TblAtr nvarchar(30) -- 参与比较的字段ASDECLARE @sql varchar(4000)SET @sql = 'select * from ' + @TblName + ' where ' + @TblAtr + '=' + @CmpStrEXEC (@sql)表 tbl_TeacherInfo【图片暂缺】Exec sp_getTeacherInfo 'tbl_TeacherInfo','TeaNo', '07417502'// 注意:像这样的调用是错误的还原成查询语句select * from tbl_TeacherInfo where TeaNo = 07417502之所以没报错,是因为参数'07417502'被误认为了 整型,进行了整数的比较Exec sp_getTeacherInfo 'tbl_TeacherInfo','Name','楚留香'// 报错还原成查询语句select * from tbl_TeacherInfo where TeaNo = 楚留香// 显然是错误的正确的调用方法Exec sp_getTeacherInfo 'tbl_TeacherInfo','Name',"'楚留香' "还原成查询语句select * from tbl_TeacherInfo where TeaNo = '楚留香'常规存储过程的创建Create PROCEDURE sp_AddRowToLogin@TeaNo nvarchar(100), -- 比较字段@TeaName nvarchar(100) -- 比较字段ASinsert into tbl_UserLogin values(@TeaNo,@TeaName,@TeaNo,0)除了指定列其他列都返回的存储过程CREATE PROCEDURE sp_Alter@TblName nvarchar(30) -- 表名ASdeclare @sql varchar(1000)select @sql='select 'select @sql=@sql+name+',' from syscolumns where id=object_id(@TblName) and name not in ('ID','TeaNo')select @sql=left(@sql,len(@sql)-1)select @sql=@sql+' from ' + @TblNameexec (@sql)// 除了ID和TeaNo两列不返回,其他都返回
注:关于SQL Server SQL创建的几种存储过程的内容就先介绍到这里,更多相关文章的可以留意