存储过程 c# sql-请问存储过程里面如何循环传参,用临时表吗??

问题描述

请问存储过程里面如何循环传参,用临时表吗??

ALTER proc [dbo].cunchu11,
@CGR nvarchar(30),
@CGRQ date,
@CGZE decimal(20,2),
@SH bit,
@SPBH nvarchar(20),
@SPLB nvarchar(20),
@SPMC nvarchar(20),
@SL int,
@DJ decimal(20,2),
@GYS nvarchar(20),
@SFJE decimal(20,2)
)
as
declare @i int
set XACT_ABORT on --只要是个错误就回滚
begin tran --开始执行事务

insert into Procure values(@DJBH,@CGR,@CGRQ,@CGZE,@SH) --增加主表

set @i=0
while @i<10
begin
--我想循环传入这些参数@DJBH,@SPBH,@SPLB,@SPMC,@SL,@DJ,@GYS,@SFJE,每次数值都不一样,不知道怎么传,循环好使,就是不知道怎么把参数传过来,sql里面没有数组,别人说能用临时表传
insert into Procure_child values(@DJBH,@SPBH,@SPLB,@SPMC,@SL,@DJ,@GYS,@SFJE) --增加子表
set @i = @i+1
end

if @@error<>0 --判断如果两条语句有任何一条出现错误
begin rollback tran --开始执行事务的回滚,恢复的转账开始之前状态
return 0
end
else

begin commit tran --执行这个事务的操作
return 1
end

本人新手,如果用临时表的话,请写清楚点。谢谢

时间: 2024-09-19 09:25:09

存储过程 c# sql-请问存储过程里面如何循环传参,用临时表吗??的相关文章

oracle 存储过程和SQL Server存储过程差异大么?

问题描述 有SQL SERVER的存储过程视频推荐不?我之前学过ORACLE的,对SQL SERVER不熟悉.希望得到大家的帮助O(∩_∩)O谢谢 解决方案 其实目前各种数据库,没有统一的标准,很麻烦.mysql.sqlserver.oracle各有各的写法(主要是在sql语法上),特别是在数据库移植的时候.其实网上资料一大堆,你百度下就找到学习的教程了.找了两个不错的,供你参考:http://wenku.baidu.com/view/8bf2ed2458fb770bf78a55b9.htmlh

SQL Server 存储过程的分页方案比拼

server|存储过程|分页 SQL Server 存储过程的分页,这个问题已经讨论过几年了,很多朋友在问我,所以在此发表一下我的观点建立表: CREATE TABLE [TestTable] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_

SQL Server 存储过程的分页

server|存储过程|分页 SQL Server 存储过程的分页,这个问题已经讨论过几年了,很多朋友在问我,所以在此发表一下我的观点建立表: CREATE TABLE [TestTable] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL , [LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_

关于SQL的存储过程一个悬而未决的老问题

存储过程|问题 SQL的存储过程:不少的网友都应该在使用中遇到过需要同时返回存储过程的返回值+结果集的问题而在网上浏览了不少的帖子,基本上都是认为无法同时返回,也即是说只能返回其中一个.但是如果遇到比如一些要校验的存储过程,无可避免地会出现需要:1.验证后,正确,返回正确值,获取结果集.2.错误,返回错误值,转向,获取错误信息. 目前我的处理方式是调用了一次存储过程:(前面我就不多说了,相信遇到这种问题的网友已经知道ASP如何调用存储过程了) 存储过程正确的时候返回结果集,错误时返回错误值 se

Sql server存储过程中常见游标循环用法

原文:Sql server存储过程中常见游标循环用法 用游标,和WHILE可以遍历您的查询中的每一条记录并将要求的字段传给变量进行相应的处理 DECLARE @A1 VARCHAR(10), @A2 VARCHAR(10), @A3 INT DECLARE YOUCURNAME CURSOR FOR SELECT A1,A2,A3 FROM YOUTABLENAME OPEN YOUCURNAME fetch next from youcurname into @a1,@a2,@a3 while

net framework-请问如何在SQL的存储过程中使用UDT?

问题描述 请问如何在SQL的存储过程中使用UDT? 我自己写了一个类Vector3,并且编译成类库文件,将程序集添加到了一个本地数据库中.在建表的时候已经可以使用这个UDT.但如何在存储过程中使用它呢?查阅MSDN,上面说 : Transact-SQL 没有为在对用户定义类型 (UDT) 列中的数据进行修改时所使用的 INSERT.UPDATE 或 DELETE 语句提供专用语法. Transact-SQL CAST 或 CONVERT 函数用于将本机数据类型转换为 UDT 类型. 但是我在使用

sql sever 存储过程怎么写?

问题描述 sql sever 存储过程怎么写? 想通过把表1的字段Call-Time 在日期为当天的数据相加的和(没有数据的时候默认为0),保存到表2的Count-Call-Seconds,并在表2的Call-Date字段插入当天的日期,求大神赐教,如何写成存储过程?两个表的表结构不一样 试着写了sql语句:INSERT INTO [表1] SELECT convert(char(10),getdate(),120) as Call-Date,COALESCE(SUM(Call-Time),0)

经过优化测试的SQL分页存储过程

  建立一个 Web 应用,分页浏览功能必不可少.这个问题是数据库处理中十分常见的问题.经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页.但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存.游标一建立,就将相关的记录锁住,直到取消游标.游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作.而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长的

存储过程 带参数-SQL SERVER 存储过程问题

问题描述 SQL SERVER 存储过程问题 目的: 创建一个存储过程,入口参数是 表名称 ,功能是 若该表不存在就创建之 . 我的做法: CREATE PROCEDURE [dbo].[CCT] @TblName varchar(32) AS begin Declare @vproc As varchar(8000) set @vproc=' if object_id(['+@TblName+']) is null begin Create Table '+@TblName+' not nul