問題描述:求一儲存過程,取得指定表中最大的id號,這裡的表是引數
解答:create procedure selectmax
@max int output,
@tablename varchar(50)
as-- 注意,此處不能直接寫成 exec('select @max = max(id) from ' + @tablename),因為變數不在同乙個作用域
exec('select max(id) as ret into tlk from '+ @tablename)
select @max = ret from tlk
drop table tlk
return @max
/*上面的解決辦法實際上是在資料庫中建立了 資料表!!(此方法不好)
修正後的答案如下:
create procedure selectmax
@max int output,
@tablename varchar(50)
as declare @sql nvarchar(4000), @params nvarchar(4000)
set @sql = n'select @maxid=max(id) from ' + quotename(@tablename)
set @params = n'@maxid int output'
exec sp_executesql @sql, @params, @maxid = @max output
return @max
*/
關於動態sql的子查詢
工作中遇到了乙個查詢需求,想查出來的資料結構是這樣的 list selectstudentinfo student的結構是這樣的 public class student public class report 可以用以下動態sql完成 studentmap type student id prop...
sql動態查詢
所以我有乙個從網頁傳遞的dict。我想基於dict動態構建查詢。我知道我可以做 session.query myclass filter by web dict 但是,僅當值完全匹配時才起作用。我需要做 像 過濾。我最好的嘗試使用 dict 屬性 for k,v in web dict.items ...
關於動態SQL
目前在oracle開發過程中,我所用到的動態sql的一點心得。我把它分為form級 table級和pl sql級。1 form級 方法一 forms ddl 支援pl sql和部分ddl 建表 forms ddl create table temp n number 刪表 forms ddl dro...