久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價?。。?
當前位置:主頁 > 網站建設 > 動態給表添加刪除字段并同時修改它的插入更新

動態給表添加刪除字段并同時修改它的插入更新

時間:2023-05-22 10:05:22 閱讀: 文章分類: 網站建設 作者: 網站技術員

導讀:1建站知識有一個表,用戶需要在后臺操作它,希望能對它動態進行添加刪除字段網站建設哪家好網站seo優化診斷工具。

網站建設哪家好網站seo優化診斷工具有一個表,用戶需要在后臺操作它,希望能對它動態進行添加刪除字段。這個功能也許沒有問題,但是它原有插入與更新的兩個存儲過程,也需要一起修改。因此Insus.NET實現了它,因此此文會讓你了解到怎樣動態為一個表添加刪除字段以及動態修改它的存儲過程 首先需要建一個表[A],這個表只有兩個字段,一個是[ID]自動增長,另一個是表[B]的字段名,存儲的每一筆記錄,即是用戶需要操作的表[B]的字段。這個表[A]需要建添加,更新,以及刪除的存儲過程,方便用戶在后臺方便操作,還有重點部分,需要寫觸發器。如有記錄對表[A]進行添加,更新或是刪除時,它會觸發去作表[B]相應操作,還要去修改表[B]的存儲過程。 動態修改表[B]的存儲過程:

復制代碼 代碼如下:

CREATE PROCEDURE [dbo].[usp_B_DymanicallyAlterStoreProcedure] AS DECLARE @VariableList NVARCHAR(MAX) = '' DECLARE @FieldList NVARCHAR(MAX) = '' DECLARE @ValueList NVARCHAR(MAX) = '' DECLARE @FieldValueList NVARCHAR(MAX) = '' DECLARE @I INT = 1, @R INT = 0 SET @R = (SELECT MAX([Id]) FROM [dbo].[A]) WHILE (@I <= @R) BEGIN DECLARE @fName NVARCHAR(100) IF EXISTS(SELECT [Id] FROM [dbo].[A] WHERE [Id] = @I) BEGIN SELECT @fName = [FieldName] FROM [dbo].[A] WHERE [Id] = @I SET @VariableList = @VariableList + ',@' + @fName +' DECIMAL(18,4)' --動態的字段數據類型都一樣 SET @FieldList = @FieldList + ',[' + @fName + ']' SET @ValueList = @ValueList + ',@' + @fName SET @FieldValueList = @FieldValueList + ',[' + @fName + '] = @' + @fName END SET @I = @I + 1 END DECLARE @sql_I NVARCHARseo網站優化(MAX),@sql_U NVARCHAR(MAX) SET @sql_I = ' ALTER PROCEDURE [dbo].[usp_B_Insert] ( @ItemCode NVARCHAR(50) '+ @VariableList +' ) AS INSERT INTO [dbo].[B] ([ItemCode]'+ @FieldList +') VALUES (@ItemCode'+ @ValueList +') ' EXECUTE sp_EXECUTESQL @sql_I; SET @sql_U = ' ALTER PROCEDURE [dbo].[usp_B_Update] ( @Id INT, @ItemCode NVARCHAR(50) '+ @VariableList +' ) AS UPDATE [dbo].[B] SET [ItemCode] = @ItemCode'+ @FieldValueList +' WHERE [Id] = @Id ' EXECUTE sp_EXECUTESQL @sql_U;

表[A]的插入觸發器:

復制代碼 代碼如下:

CREATE TRIGGER [dbo].[tri_A_Insert] ON [dbo].[A] FOR INSERT AS BEGIN SET NOCOUNT ON DECLARE @FieldName NVARCHAR(50) SELECT @FieldName = [FieldName] FROM INSERTED EXECUTE('IF NOT EXISTS(SELECT * FROM SYSCOLUMNS WHERE [id] = OBJECT_ID(''B'') AND [name] = '''+ @FieldName +''') ALTER TABLE [B] ADD ['+ @FieldName +'] DECIMAL(18,4) NULL') EXECUTE [dbo].[usp_B_DymanicallyAlterStoreProcedure]; END

表[A]刪除觸發器:

復制代碼 代碼如下:

CREATE TRIGGER [dbo].[tri_A_Delete] ON [dbo].[A] FOR DELETE AS BEGIN SET NOCOUNT ON DECLARE @FieldName NVARCHAR(50) SELECT @FieldName = [FieldName] FROM DELETED EXECUTE('IF EXISTS(SELECT * FROM SYSCOLUMNS WHERE [id] = OBJECT_ID(''seo網站關鍵詞優化B'') AND [name] = '''+ @FieldName +''') ALTER TABLE [B] DROP COLUMN ['+ @Fiel建設網站公司dName +']') EXECUTE [dbo].[usp_B_DymanicallyAlterStoreProcedure]; END

關鍵詞標簽: 字段 它的

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-22 ,文章動態給表添加刪除字段并同時修改它的插入更新主要講述它的,字段,動態給表添加刪除字段并同時修改它的網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_4385.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 洛南县| 开原市| 革吉县| 防城港市| 沙雅县| 新源县| 乌兰察布市| 汝城县| 万荣县| 甘孜县| 巴东县| 晋城| 阳山县| 保亭| 蓬安县| 旬阳县| 政和县| 隆子县| 茶陵县| 偃师市| 平利县| 盐亭县| 长顺县| 台南县| 宣武区| 抚松县| 乌拉特前旗| 芒康县| 凤翔县| 元阳县| 博湖县| 原阳县| 阿拉善盟| 连江县| 安庆市| 临夏县| 贵港市| 鞍山市| 弥勒县| 天长市| 绥江县|