打开SQL Server 2005的管理工具,选中需要创建存储过程的数据库,找到“可编程性”,展开后可以看到“存储过程”。右键点击它,选择“新建存储过程”,右侧的编辑窗口打开了,里面装着微软自动生成的SQL Server创建存储过程的语句。

将存储过程的名字,参数,操作语句写好后,点击语法分析,没有错误就直接“F5”运行就好了,存储过程创建完毕,以下是一个基本的存储过程的代码:

 CREATE PROCEDURE Get_Data  (   @Dealer_ID VARCHAR(<strong>50</strong>)   )   AS  SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID

既然创建存储过程已经会了,那么修改还会难吗?显然不会。修改存储过程也是相当的容易。首先,刷新当前数据库的存储过程列表,这时就能看到你刚创建的存储过程的名字了,右键点击它,选择修改,右侧又打开了一个编辑窗口,装着的就是修改存储过程的代码(如下)

 ALTER PROCEDURE [dbo].[Get_Data]  (   @Dealer_ID VARCHAR(<strong>50</strong>)   )   AS  SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID
ALTER PROCEDURE [dbo].[Get_Data]  (   @Dealer_ID VARCHAR(<strong>50</strong>),  @Period VARCHAR(<strong>20</strong>)  )   AS   SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID AND Period = @Period

开始写了一个存储过程,用来实现数据的插入操作,说白了就是添加数据。这个存储过程的代码如下:

 CREATE PROCEDURE PROC_INSERT_DATA_ID @DealerID varchar(<strong>50</strong>) AS BEGIN 5   DECLARE @COUNT INT    SET @COUNT = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)   IF (@COUNT><strong>0</strong>)     BEGIN      DELETE FROM myDATA_Details WHERE DealerID = @DealerID      INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)     END    ELSE     BEGIN      INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)     END   END --实际例子:http://hovertree.com/hovertreescj/sql/p_hovertreescj_urls_add.htm

用于更新数据,代码如下:

CREATE PROCEDURE PROC_INSERT_DATA_DETAIL   @DealerID varchar(<strong>50</strong>),    @FieldName varchar(<strong>2000</strong>),   @FieldValue varchar(<strong>2000</strong>)  AS  BEGIN   DECLARE @Count INT   SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)   IF (@COUNT><strong>0</strong>)    BEGIN     UPDATE myDATA_Details SET DealValue = @FieldValue WHERE DealerID = @DealerID    END   ELSE    BEGIN     INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)    END  END

修改后的代码

 ALTER PROCEDURE PROC_INSERT_DATA_DETAIL   @DealerID varchar(<strong>50</strong>),    @FieldName varchar(<strong>2000</strong>),   @FieldValue varchar(<strong>2000</strong>)  AS  BEGIN   DECLARE @Count INT   DECLARE @StrSQL VARCHAR(<strong>2000</strong>)   SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)   IF (@COUNT><strong>0</strong>)    BEGIN     SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID     EXEC(@StrSQL)    END   ELSE    BEGIN     INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)     SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID     EXEC(@StrSQL)    END  END

更多相关文章

  1. android EditText设置不可写
  2. android 使用html5作布局文件: webview跟javascript交互
  3. android studio调试c/c++代码
  4. IM-A820L限制GSM,WCDMA上网的原理(其他泛泰机型可参考)7.13
  5. 锁屏界面
  6. android(NDK+JNI)---Eclipse+CDT+gdb调试android ndk程序
  7. Android(安卓)version and Linux Kernel version
  8. Android(安卓)闹钟管理类的使用
  9. Android学习篇之Menu的使用

随机推荐

  1. android常用数据库字段描述
  2. Intent 详解
  3. Android(安卓)TV开发总结(三)构建一个TV ap
  4. Android 监听 home键和菜单键
  5. Android处理POST请求、Android用SAX解析X
  6. android 键盘属性设置总结
  7. Android下为自己定义WifiManager类wifi模
  8. android 设备开发 让应用程序出现在模拟
  9. Android Studio2.0引入so文件(亲测)
  10. 解决魅族手机在下拉刷新的时候出现hold