1. CREATE TABLE [dbo].[Order](  
  2. [o_id] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,  
  3. [o_buyerid] [intNOT NULL 
  4. )  
  5. 1.OUPUT参数返回值  
  6.  
  7. 例: 向Order表插入一条记录,返回其标识  
  8. CREATE PROCEDURE [dbo].[nb_order_insert](  
  9. @o_buyerid int ,  
  10. @o_id bigint OUTPUT 
  11. )  
  12. AS 
  13. BEGIN 
  14. SET NOCOUNT ON;  
  15. BEGIN 
  16. INSERT INTO [Order](o_buyerid )  
  17. VALUES (@o_buyerid )  
  18. SET @o_id = @@IDENTITY  
  19. END 
  20. END 
  21. 存储过程中获得方法:  
  22. DECLARE @o_buyerid int 
  23. DECLARE @o_id bigint 
  24. EXEC [nb_order_insert] @o_buyerid ,o_id bigint 
  25.  
  26. RETURN过程返回值  
  27. CREATE PROCEDURE [dbo].[nb_order_insert](  
  28. @o_buyerid int ,  
  29. @o_id bigint OUTPUT 
  30. )  
  31. AS 
  32. BEGIN 
  33. SET NOCOUNT ON;  
  34. IF(EXISTS(SELECT * FROM [Shop] WHERE [s_id] = @o_shopid))  
  35. BEGIN 
  36. INSERT INTO [Order](o_buyerid )  
  37. VALUES (@o_buyerid )  
  38. SET @o_id = @@IDENTITY  
  39. RETURN 1 — 插入成功返回1  
  40. END 
  41. ELSE 
  42. RETURN 0 — 插入失败返回0  
  43. END 
  44. 存储过程中的获取方法  
  45. DECLARE @o_buyerid int 
  46. DECLARE @o_id bigint 
  47. DECLARE @result bit 
  48. EXEC @result = [nb_order_insert] @o_buyerid ,o_id bigint 
  49.  
  50. 3.SELECT 数据集返回值  
  51. CREATE PROCEDURE [dbo].[nb_order_select](  
  52. @o_id int 
  53. )  
  54. AS 
  55. BEGIN 
  56. SET NOCOUNT ON;  
  57. SELECT o_id,o_buyerid FROM [Order]  
  58. WHERE o_id = @o_id  
  59. GO  
  60.  
  61. 存储过程中的获取方法:  
  62. 3.1使用临时表  
  63. CREATE TABLE [dbo].[Temp](  
  64. [o_id] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,  
  65. [o_buyerid] [intNOT NULL 
  66. )  
  67. INSERT [TempEXEC [nb_order_select] @o_id  
  68. – 这时 Temp 就是EXEC执行SELECT 后的结果集  
  69. SELECT * FROM [Temp]  
  70. DROP [Temp] — 删除临时表  
  71. 3.2使用openrowset(不过就是速度不怎么样)  
  72. SELECT * from openrowset(’provider_name','Trusted_Connection=yes’,'exec nb_order_select’)