当前位置:数据库 > SQLServer >>

MSSQL存储过程新手请教

本人以前没有用过存储过程,现在要用到了,但是不知道存储过程的结构,请大虾给个结构,比如这个目的: 更新某表中的某条记录,并传出更新后的该条记录。 请大虾指教,不知道能否实现
答案:create procedure [proc_Name] --定义存储过程
@userName varchar(50)     --定义传入量(可以没有)
as
--加入操作语句
--update|insert|delete|等等

select * from inserted --返回更新后的该条记录
其他:同是菜鸟 等待答案 create proc test  //创建一个名为test的存储过程
 @tablename nvarchar(50)
 as
 set @tablename='select * from '+@tablename;
 execute sp_executesql @tablename;//用系统的sp_executesql存储过程执行SQL语句
 print @tablename;
 go  
    c#代码:
 cmd=con.CreateCommand();
 cmd.Parameters.Add("@tablename",SqlDbType.NVarChar);//指定存储过程的参数
 cmd.CommandText="test";//指定存储过程的名称
 cmd.CommandType=CommandType.StoredProcedure;//指定要执行的类型(存储过程)
 cmd.Parameters["@tablename"].Value = tablename;//指定存储过程参数需要传递的值
 da=new SqlDataAdapter(cmd);//执行  
 ds=new DataSet();
 da.Fill(ds,"e");//填充数据集
 dataGrid1.DataSource=ds.Tables["e"];//绑定数据集 CREATE PROCEDURE [sp_update] --存储过程名称
(
 @param1 nvarchar(50),
 @param2 nvarchar(50), 
 @param3 nvarchar(50),
 @param4 nvarchar(50)--这是你传入的参数
)
AS
--更新
UPDATE [你的表名]
 SET  [表中的字段名1] = @param1,
  [表中的字段名2] = @param2 --要更新的字段
 WHERE [表中的字段名3] = @param3 and
                  [表中的字段名4] = @param4 --更新的条件

--返回更新的记录
SELECT * FROM [你的表名]
 WHERE [表中的字段名3] = @param3 and
                  [表中的字段名4] = @param4 --已更新的记录


将以上[]的内容改为你自己的表和字段名, 复制到SQL企业管理器的查询窗口, F5运行即可生成一个存储过程. 同样在SQL企业管理器的查询窗口输入 exec [你的存储过程名称] '参数1', '参数2', '参数3', '参数4'即可执行上面的那条存储过程.

上一个:MSSQL的高手进来看一下有难度的问题
下一个:如何理解mssql中的not exists

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,