如何在存储过程中实现插入更新数据

如何在存储过程中实现插入更新数据,第1张

--先在数据库中创建test表,表中有列名为name,类型为varchar(50)

然后先执行

create procedure proc_insert

@name varchar(50)

as

begin

insert into test values(@name)--插入数据

end

go

create procedure proc_update

@newname varchar(50),@oldname varchar(50)

as

begin

update test set name=@newname where name=@oldname--更新数据

end

go

--其虚丛中proc_insert为存储过程名,可自定义 procedure可使用简写proc

上面执行完成后调用存储过程

exec proc_insert '晓华'--将"晓华"添加到test表中

exec proc_update '小明','晓华' --将表御唤中'晓华' 改为'小明',必须与存储过程变量顺序相同

exec proc_update @oldname='小明',@newname='晓华差拆樱'--与存储过程变量顺序可以不同

drop procedure proc_insert 删除存储过程proc_insert

//使用SqlDataAdapter调用存储过程(主要应用于查询)

private void Form1_Load(object sender, EventArgs e)//窗口加载事件桐高

{

SqlConnection conn = null//声明SqlConnection,用于连接数据库

try

{

conn = new SqlConnection("server=.database=要连接的数据库名uid=登陆数据库的账号pwd=登录数据库的密码")

SqlDataAdapter sda = new SqlDataAdapter("proc_SelectAllStuInfo",conn)//声明SqlDataAdapter适配器,括号里的第一个参数是要掉的存储过程的名字,第二个参数是连接数据库的Conn。

DataSet ds = new DataSet()//new一个DataSet数据集(临时仓库)

sda.Fill(ds)//把适配器里的结果填充到DataSet里

DataTable dt = ds.Tables[0]//创建一中陪个DataTable获取DataSet里的数据

this.dgvStuInfo.DataSource = dt//把DataTable中的数据绑定到卖轮蠢DataGridView中

}

//抓异常

catch (Exception ex)

{

MessageBox.Show(ex.Message)

return

}

finally

{

conn.Close()//最后关闭数据库连接

}

}

实际上存储过程向表中插入数据和sql执行的缺孙区别是不大的,只不过银扮陪是存储过程是用loop等循环插入,之后顺序执行sql语句,不用命令行执行。

CREATE OR REPLACE PROCEDURE insert_data_4_pressure_3

 is

  --Result1  VARCHAR2(50)

  VAR_num number

begin

  VAR_num:=1

 while

   VAR_num< 1000000

   LOOP

      insert into rp_trans_log_day

        (trans_time,

       锋蠢  trans_province,

         trans_type,

         score_range,

         rule_name,

         trans_num)

        select to_date('2013/10/29', 'yyyy-mm-dd'),

               round(dbms_random.value(1, 300)) || '省',

               round(dbms_random.value(1, 800)) || '类型',

               round(dbms_random.value(1, 100)) || '风险分值',

               round(dbms_random.value(1, 300)) || '规则名称',

               '1'

          from dual

        commit

    VAR_num:=VAR_num+1

    end loop

end insert_data_4_pressure_3


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11985448.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存