共計 1182 個字符,預計需要花費 3 分鐘才能閱讀完成。
今天就跟大家聊聊有關 SQL 中如何創建存儲過程,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
創建存儲過程 表名和比較字段可以做參數的存儲過程
Create PROCEDURE sp_getTeacherInfo @TblName nvarchar(30), — 表名 @CmpStr nvarchar(30), — 參與比較的值 @TblAtr nvarchar(30) — 參與比較的字段 AS DECLARE @sql varchar(4000) SET @sql = select * from + @TblName + where + @TblAtr + = + @CmpStr EXEC (@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) — 比較字段 AS insert into tbl_UserLogin values(@TeaNo,@TeaName,@TeaNo,0) 除了指定列其他列都返回的存儲過程 CREATE PROCEDURE sp_Alter @TblName nvarchar(30) — 表名 AS declare @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 + @TblName exec (@sql) // 除了 ID 和 TeaNo 兩列不返回,其他都返回
看完上述內容,你們對 SQL 中如何創建存儲過程有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注丸趣 TV 行業資訊頻道,感謝大家的支持。