存储过程——创建通用存储过程(七)
生活随笔
收集整理的這篇文章主要介紹了
存储过程——创建通用存储过程(七)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 目標
- 通用刪除和通用修改 實現思路
根據某個條件刪除某個表信息,通常如:根據主鍵刪除新聞表信息某條數據,根據主鍵刪除用戶表某條數據
分析:
如果要實現通用的刪除功能,只需要編寫一個存儲過程,傳入要刪除的表名和刪除的條件即可,拼接一個sql語句,最后執行這個sql語句,實現通用的刪除功能
- 通用修改功能實現思路
分析:
是否可以直接將表名,修改的列名,修改的條件作為參數,拼接一個sql語句,最后執行這個sql語句,實現通用的修改功能
- 執行sql語句
EXEC(@sql)
通用刪除功能如下
-- ============================================= -- Author: <Author,,Name> -- Create date: 2014年4月12日 23:04:30 -- Description: <通用刪除> -- ============================================= CREATE PROCEDURE DelTable]@tablename nvarchar(100),--表名@condition nvarchar(200)--查詢條件 AS BEGIN --拼接sqlDECLARE @sql nvarchar(1000)SET @sql='Delete from '+@tablename+' where '+@conditionEXEC(@sql) END
測試打印sql如下
Delete from userinfo where 3
在t-sql界面操作調用格式如下
EXEC DelTable 'userinfo','id=6'通用修改功能如下
-- ============================================= -- Author: <Author,,Name> -- Create date: <2014年4月12日 23:33:39 -- Description: 通用修改 -- ============================================= CREATE PROCEDURE UpdateTable@tablename nvarchar(100),@columns nvarchar(200),@condition nvarchar(500) AS BEGINDECLARE @sql nvarchar(1000)SET @sql='update '+@tablename+' set '+@columns+' where '+ @conditionEXEC(@sql) END GO在界面調用如下
EXEC [dbo].[UpdateTable] 'userinfo','age=24','id=1'通用查詢功能如下
-- ============================================= -- Author: <Author,,Name> -- Create date: 2014年4月13日 00:07:44 -- Description: 查詢 -- ============================================= CREATE PROCEDURE QueryTable @tablename nvarchar(100),@column nvarchar(200),@condition nvarchar(300) AS BEGINDECLARE @sql nvarchar(1000)SET @sql='select '+@column+ ' from '+@tablename+' where 1=1'+@conditionEXEC(@sql) END GO調用
EXEC [dbo].[QueryTable] 'userinfo','*',''?
轉載于:https://www.cnblogs.com/tuqun/p/3661652.html
總結
以上是生活随笔為你收集整理的存储过程——创建通用存储过程(七)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win32汇编入门(一)
- 下一篇: 模拟真实环境之内网漫游