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