一:创建没有参数的存储过程:CREATE PROCEDURE select_allASBEGINSELECT * from T_login1ENDGO二:创建带参数的存储过程:CREATE PROCEDURE select_name@id uniqueidentifierASBEGINSELECT * from T_login1 where PSN0001A=@idENDGO扩展资料:创建存储过程的注意事项:1、保持事务简短,事务越短,越不可能造成阻塞。2、在事务中尽量避免使用循环while和游标,以及避免采用访问大量行的语句。3、在启动事务前完成所有的计算和查询等操作,避免同一事务中交错读取和更新。可以使用表变量预先存储数据。即存储过程中查询与更新使用两个事务实现。4、超时会让事务不执行回滚,超时后如果客户端关闭连接sqlserver自动回滚事务。如果不关闭,将造成数据丢失,而其他事务将在这个未关闭的连接上执行,造成资源锁定,甚至服务器停止响应。
创建方法如下: create proc 存储过程名 { 参数1 数据类型 参数2 数据类型 ... } as sql语句SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE Borr_book @name nvarchar(100)ASBEGIN SET NOCOUNT ON; SELECT 借书证号,书名,类别 FROM book as T0 INNER JOIN borrow as T1 ON T0.书号=T1.书号 INNER JOIN borrrow as T2 ON T1.借书证号=T2.借书证号 WHERE 姓名=@nameENDGO试试吧
6,创建一个存储过程
create proc proc_OrderNodeIndex@doResult int output,@firstResultNodeId int,@secondResultNodeId int,@firstDisplayOrder int,@secondDisplayOrder int as begin transaction declare @errorSum int set @errorSum=0update SysFun set DisplayOrder=@secondDisplayOrder where NodeId=@firstResultNodeIdset @errorSum=@errorSum+@@errorupdate SysFun set DisplayOrder=@firstDisplayOrder where NodeId=@secondResultNodeIdset @errorSum=@errorSum+@@errorif @errorSum<>0beginrollback transactionset @doResult=0end else begincommit transactionset @doResult=1endgo
7,怎样建一个存储过程
-------------------建表------------------ CREATE TABLE [tab_cJ] ( [id] [int] IDENTITY (1, 1) NOT NULL PRIMARY KEY, [name] [varchar] (50) , [age] [int] NULL , [info] [varchar] (200) ) ------------------建存储过程------------------------- CREATE PROCEDURE QueryInfoByName @name varchar(50), @age int AS select info from tab_cj where [name]=@name and age=@age GO --------------------调用------------------------------- protected void GetInfoByName(string txt_name, int txt_age) SqlConnection conn = new SqlConnection("server=localhost;database=dbDemo;uid=sa"); SqlCommand cmd = conn.CreateCommand(); cmd.CommandType = CommandType.StoredProcedure; //指定执行存储过程操作 cmd.CommandText = "QueryInfoByName"; //存储过程名称 //对应存储过程QueryInfoByName的第一个参数@name SqlParameter parName = new SqlParameter("@name", SqlDbType.VarChar, 50); //指定参数@name要转入的值 parName.Value = txt_name; //对应存储过程QueryInfoByName的第二个参数@age SqlParameter parAge = new SqlParameter("@age", SqlDbType.Int); //指定参数@age要转入的值 parAge.Value = txt_age; //这一步非常重要,一定将设置好的两个参数类型添加到Command对象的参数集合里 cmd.Parameters.Add(parName); cmd.Parameters.Add(parAge); //方式一,查询回来的结果需要显示在DataGrid之类的控件上 DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(ds); //方式二,按单个值读取 conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) while (reader.Read()) Response.Write(reader.GetString(0)); } } conn.Close(); }
文章标题:如何创建存储过程,创建存储过程谢谢
文章分享:http://kswjz.com/article/isiigp.html