1樓:冬至
create or replace procedureproc_test(@tablename varchar(100))isbegin
select count(*) from @tablename;
end proc_test;
這是oracle的儲存過程,那個@不清楚加還是不加。
2樓:匿名使用者
修正一下2樓的說法@是sql server中的語法
oracle中你可以把查詢組織成字串,然後執行一下,基本思路同3樓。
在sql server 語句中,如何將引數做為表名傳遞到查詢語句中
3樓:匿名使用者
可以使用動態sql來查詢。
如:declare @tablename varchar(20)declare @sql nvarchar(2000)set @tablename='users'
set @sql=n'select * from ' +@tablename+ ''
exec sp_executesql @sql結果說明:
1、動態sql一般是這樣傳遞引數:set @sql=n'select * from ' +@tablename+ ''
2、執行sql時以這種方式:exec sp_executesql @sql
3、定義動態sql變數時,要用nvarchar型別
4樓:匿名使用者
為了提取出公共的fuction提高執行效率,需要傳遞表的欄位作為引數,語法可以通過,但是查詢結果不正確。
將表欄位引數換成實際的欄位就可以,問題出在“如果將表名,欄位名做為引數傳遞到sql server中”出錯的:create function backtocount(@tablename varchar(50))
returns intasbegindeclare @count int
select @count=count(*) from @tablename
return @countend但是這樣的時候會報錯,說變數@tablename要宣告正確的:對於表名作為變數,我們可以使用object_name(id)方法
create function backtocount(@tablename varchar(50))
returns intasbegindeclare @count int
select @count=rows from sysindexes where indid in (0,1) and object_name(id)=@tablename
return @countendgo--查sysobjects表有多少行
select dbo.backtocount( 'sysobjects ')
使用儲存過程:
對於欄位變數的話,必須執行動態語句,但是函式裡邊不能用exec,建議使用儲存過程實現。
解決方法:動態sql
create procedure f_count(@tablename varchar(50))asdeclare @str as varchar(1000)
set @str= 'select count(*) as a from
5樓:羅永樟
你這個應該是反過來吧,把表名作為引數傳遞到語句中,那這個語句就可以通用吧
select * from [表名],表名可不可以是變數
6樓:匿名使用者
可以是變數,但是變數的值必須是真實有效的表名;
如果不存在的表,查詢語句會報錯的;
在sql語句中,所有的實體都可以是變數的,但是變數必須是資料庫中實際存在的欄位、名稱,否則查詢語句報錯。
7樓:
dim biao
biao="表名"
sql="select * from "& biao可以是變數,但是要保證變數的表存在,否則要出錯哦!
8樓:匿名使用者
看在什麼環境下,其實都可以,如果你是寫在sql存諸過程之類的話就用exec('select * from' & 變數 & ' where id=123')
如果是寫在程式裡面的,例如vb就直接用
execute("select * from '" & 變數 & "' where id=123")
9樓:匿名使用者
不可以,否則系統會找不到指定的table。
10樓:斐白竹
可以的"select from " & 變數 & "where..."
11樓:匿名使用者
那 個 是一個別名
用一個別名 代替 表名 是方便 編寫程式
12樓:匿名使用者
不可以吧,反正我沒遇見過可以的 。
SQL語句中儲存過程和呼叫,oracle SQL語句中怎麼樣呼叫儲存過程?
這些是c 的語句,訪問的是windows窗體中的控制項,而儲存過程是不能訪問窗體中的控制項的。你這個要求是無法實現的。oracle sql語句中怎麼樣呼叫儲存過程?如何在select語句中呼叫儲存過程的結果 sql server中儲存過程的返回值不是通過return語句返回的 return語句是在使...
關於SQL的儲存過程應用問題
東坡 站 一般分為十種情況,每種語法各不相同 1 建立語法 create proc procedure pro name 預設值 output 預設值 output as sql statements 2 建立不帶引數儲存過程 建立儲存過程 if exists select from sys.obj...
sql中儲存較大的資料用什么資料型別 或者儲存較大的資料怎么儲存
二進位製用這個 image 二進位制資料型別 image 資料型別用來儲存變長的二進位制資料,最大可達231 1或大約20億位元組 整數用這個 int 整型 int 資料型別可以儲存從 231 2147483648 到231 2147483 647 之間的整數。儲存到資料庫的幾乎所有數值型的資料都可...