文档详情

07_存储过程[SQLServer].ppt

发布:2017-04-20约2.97千字共47页下载文档
文本预览下载声明
存储过程;内容;T-SQL 来进行编程的两种方法;1 存储过程概念 ;存储过程可以;使用存储过程的好处;2 创建和执行存储过程;2 创建和执行存储过程;注意事项;例1.带有复杂 SELECT 语句的存储过程:对pubs数据库,查询居住在“Oakland”城市(authors表中的city列)的作者的姓名(au_lname列和au_fname列的值的组合)、所写的图书的书名(titles表中的title列)、图书出版日期(titles表中的pubdate列)以及出版商名(publishers表中的pub_name列)。;例2.带有输入参数的存储过程:查询居住在指定城市的作者的姓名、所写的图书的书名、图书出版日期和出版商名;例3.带有多个输入参数并有默认值的存储过程:查询某个指定州(authors表中的state列)、电话号码(authors表中的phone列)前3位为指定数字的作者的姓名、州和电话号码,其中州的默认值为“CA”。;参数的传递方式 ;例4.带有多个输入参数并均指定默认值的存储过程。对pubs数据库的titles表,查询指定类型(type)以及价格(price)大于指定价格的图书的书号(title_id)、书名(title)、价格(price)和出版日期(pubdate),其中类型的默认值为“business”,价格的默认值为15;执行示例;例5.带输出参数的存储过程。计算两个数的乘积,并将计算结果作为输出参数返回给调用者。;例6.带输入参数和一个输出参数的存储过程。统计指定类型的图书的平均价格,并将统计的结果作为输出参数返回。;例7.带有多个输入参数和多个输出参数的存储过程。统计指定类型和指定年份出版的图书的个数和平均价格,并将统计的结果作为输出参数返回。;执行例7存储过程;例8.建立修改数据的存储过程。对pubs数据库的titles表,将指定类型的图书的价格进行适当增加,增加的规则:如果价格高于20,则加价10%;如果价格在10~20之间,则加价20%,否则加价30%。;例9.建立删除数据的存储过程。对pubs数据库的titles表,删除指定类型的图书中价格最低的图书记录。;3 从存储过程中返回数据;使用返回代码返回数据 ;例1.对pubs数据库的titles表,建立查询指定类型的图书的书名和价格的存储过程,如果用户没有指定类型,则在屏幕上显示“请指定一个图书类型”,并从存储过程中退出??如果用户指定了图书类型,则执行相应的查询。;例2. 有返回状态代码的存储过程。对pubs数据库的authors表,检查用户指定的作者(作者编号)所在的州。如果所在的州是加利福尼亚州 (CA),将返回状态代码“1”。否则,对于任何其它情况均返回状态代码“2”;例3.根据各种错误设置不同的返回代码值。对Pubs数据库的titles表,查询指定图书编号(title_id)的图书的销售量,根据每种可能的错误赋予的返回代码的值如表所示。;例3代码;例3代码(续);执行例3代码;4 查看、修改、删除存储过程 ;4.1查看存储过程;4.1查看存储过程;4.2修改存储过程;4.3重命名存储过程;4.4删除存储过程;使用T-SQL语句删除存储过程;5 存储过程的加密;6 存储过程的调试;Visual Studio提供的调试方法;调试远程数据库;7重新编译存储过程;8 C#中调用存储过程;8 C#中调用存储过程;//使用SqlDataAdapter将自动完成数据库的打开和关闭过程,并执行相应t-sql语句或存储过程 //如果存储过程只是执行相关操作,如级联删除或更新,使用SqlCommand的execute方法即可。 SqlDataAdapter da = new SqlDataAdapter(comm); DataSet ds = new DataSet(); da.Fill(ds); //在执行完存储过程之后,可得到输出参数 string myout = comm.Parameters[@output].Value.ToString(); //打印输出参数 textBox1.Text=myout; //打印存储过程返回值 myout = comm.Parameters[myreturn].Value.ToString(); textBox2.Text=myout; DataTable dt = new DataTable();
显示全部
相似文档