当前位置:首页 » 服务存储 » 新增的字段怎么写存储过程
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

新增的字段怎么写存储过程

发布时间: 2023-01-03 20:16:42

① C#S2学期中酒店管理系统中新增记录得到一个ID的存储过程怎么写

我这儿有一个新增文档的存储过程,跟你的要求是一致的,你根据你的数据表修改修改就行。

ALTER proc [dbo].[sp_AddDocument]
@ClassID int,
@DocTitle As varchar(300),
@DocContent As ntext,
@DocApprover As varchar(300),
@DocApproveDate As Datetime,
@DocApproved As int,
@DocType As Int,
@DocAttribute As int,
@DocAddedBy As varchar(300),
@DocAddedDate As Datetime
/*
=================================================
功能: 新增文档主体记录
参数:
@ClassID 文档所属项目
@DocTitle 文档标题
@DocContent 文档正文
@DocApprover 文档审批人
@DocApproveDate 文档被审批日期
@DocApproved 文档是否被审批
@DocType 文档类型
@DocAttribute 文档属性(暂未使用)
@DocAddedBy 文档上传
@DocAddedDate 文档上传日期
=================================================
*/
AS
SET NOCOUNT ON
INSERT INTO UDS_document
(ClassID,DocTitle,DocContent,DocApprover,DocApproveDate,DocApproved,DocType,DocAttribute,DocAddedBy,DocAddedDate)
VALUES (@ClassID,@DocTitle,@DocContent,@DocApprover,@DocApproveDate,@DocApproved,@DocType,@DocAttribute,@DocAddedBy,@DocAddedDate)
SELECT @@IDENTITY AS DocID
SET NOCOUNT OFF

② 怎么写存储过程,向数据库中批量插入数据

  1. 用循环语句生成字段值insert

  2. sql 如下:

createprocereInsertTest

as

begin

declare@iint

declare@svarchar(20)

set@i=1

while@i<=100

begin

select@s=cast(@iASvarchar(20))

insertintotest(A,B,C,D)VALUES('a'+@s,'b'+@s,'ccccc','ddddd')

SET@i=@i+1

end

end

③ 多表存储过程怎么写 表:order 字段 id,prod_id 表:prod 字段:id,total(每增加一个订单,total就增加一

select * from t where 备注 like'%异常%' and id in (select top 10 id from t) order by 时间 desc

也就是先取前十条,然后在这十条中异常的,应该是可以的,我试过了

④ sql更新数据存储过程怎么写

create procere update_table ( @c_tbname varchar(128), -- 要更新的表名
@c_upcolname varchar(1000), -- 要更新的字段列表,以豆号隔开
@c_updata varchar(1000), -- 要更新的数据列表,以豆号隔开,要与相应的列一一对应
@c_id varchar(100) -- 要更新的关键字,没有关键字的不能更新
)
as
begin
declare @c_sql varchar(max)
declare @i_bcol int
declare @i_ecol int
declare @i_bdata int
declare @i_edata int
if @c_id is null or @c_id = ''
return
set @i_bcol= 1
set @i_bdata= 1
set @c_sql = ' update ' + @c_tbname + ' set '
set @i_ecol = charindex(',' , @c_upcolname , @i_bcol )
while @i_ecol > 0
begin
set @c_sql = @c_sql + substring( @c_upcolname,@i_bcol,@i_ecol - 1 ) + ' = '
set @i_edata= charindex(',' , @c_updata, @i_bdata)
set @c_sql = @c_sql + '''' + substring( @c_updata,@i_bdata,@i_edata- 1 ) + ''' ,'
set @i_bcol = @i_ecol + 1
set @i_ecol = charindex(',' , @c_upcolname , @i_bcol )
end

set @c_sql = @c_sql + substring( @c_upcolname,@i_bcol,len@c_upcolname) - 1 ) + ' = '
set @c_sql = @c_sql + '''' + substring( @c_updata,@i_bdata,len(@c_updata)- 1 ) + ''' '
set @c_sql = @c_sql + ' where id = ''' + @c_id + ''' '
exec ( @c_sql )
end

⑤ oracle修改字段类型 存储过程怎么写

我没弄明白你的意思,每次都要改吗?还是改一次就完事?
但是,判断这个表存在再执行sql就比较简单,你用user_tables视图,或者segment视图就可以了,如果还要判断字段,那么用user_tab_columns视图也行啊,有这个表,这个字段,类型是varchar这些都可以查,查的有就可读取出表名,字段名等内容,然后就可以改了吧。
至于修改,就是正常修改啊,还能怎么改,如果不直接alert那么个人觉得最好的办法就是加一个字段,然后将这个字段复制过去,再删除原来的字段,再把名字改回来。你可以试试。