請高手幫忙這個在儲存過程中怎麼寫

2022-11-26 14:21:09 字數 805 閱讀 9352

1樓:匿名使用者

create proc [dbo].[myproc1]

@a nvarchar(100),@b int output

as declare @sql as nvarchar(200)

set @sql=n'set @c= '+@a+n';'

exec sp_executesql

@stmt=@sql,

@params=n'@c as int output',

@c=@b output;

然後你可以這樣執行:

declare @b int

exec myproc1 n'convert(int,(select a from ragl))',@b output

select @b

就可以看到結果了,

但是'convert(integer,(select a from ragl))'如果返回欄位a有多個值會發生錯誤,這就是你這個題目最初設計的問題了

首先呢,exec sp_executesql是動態sql語句,並不是儲過程。

其次呢,在這裡@a是儲存過程中的輸入變數,你用

exec myproc1 n'convert(int,(select a from ragl))',@b output 執行的話,

就是把變數n'convert(int,(select a from ragl))'賦值給@a,你也可以是

exec myproc1 11,@b output等

2樓:

看來樓主是不懂儲存過程的使用,人家回答的正確

在開發過程中為什麼需要寫儲存過程

儲存過程說白了就是一堆 sql 的合併。中間加了點邏輯控制。但是儲存過程處理比較複雜的業務時比較實用。比如說,一個複雜的資料操作。如果你在前臺處理的話。可能會涉及到多次資料庫連線。但如果你用儲存過程的話。就只有一次。從響應時間上來說有優勢。也就是說儲存過程可以給我們帶來執行效率提高的好處。另外,程式...

SQL儲存過程問題,請高手幫忙看一下

convert int,prodbrandid convert int,prodcategoryid 都錯了你是拼接的sql,sql是字串,你convert成int是不行的,應改成 convert varchar 8 prodbrandid convert varchar 8 prodcategor...

在sql儲存過程中如何宣告變數賦值變數最好有

sql server 儲存過程中怎麼將變數賦值 sql賦值語句 declare test1 int select test1 111 set test1 222 sql函式賦值,假定count 是自定義函式declare test2 int select test2 count from sys.s...