當前位置:首頁 » 服務存儲 » 新增的欄位怎麼寫存儲過程
擴展閱讀
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那麼個人覺得最好的辦法就是加一個欄位,然後將這個欄位復制過去,再刪除原來的欄位,再把名字改回來。你可以試試。