不能这样啊。
试试这个行不行:create FUNCTION SalesByStoreString
(
@storeid varchar(30),
@ varchar(10)
)
RETURNS TABLE
AS
RETURN(SELECT title, qty
FROM sales s, titles t
WHERE s.stor_id = @storeid and
t.title_id = s.title_id
AND (@MARK = '1' OR ora_date='1994-09-14'))
试试这个行不行:create FUNCTION SalesByStoreString
(
@storeid varchar(30),
@ varchar(10)
)
RETURNS TABLE
AS
RETURN(SELECT title, qty
FROM sales s, titles t
WHERE s.stor_id = @storeid and
t.title_id = s.title_id
AND (@MARK = '1' OR ora_date='1994-09-14'))
(
@storeid varchar(30),
@ varchar(10)
)
RETURNS TABLE
AS
RETURN(SELECT title, qty
FROM sales s, titles t
WHERE s.stor_id = @storeid and
t.title_id = s.title_id
AND (@MARK <> '1' OR ora_date='1994-09-14'))
http://www.cnoug.org/bin/ut/topic_show.cgi?id=134&h=1&bpg=1&age=30
CREATE PROCEDURE C_TEST_PROC
@chvOrder VARCHAR(100)='au_id',
@chvSort VARCHAR(10)='ASC'
AS
DECLARE @chvSQL VARCHAR(100)
SELECT @chvSQL='SELECT * FROM AUTHORS'
SELECT @chvSQL= @chvSQL +' ORDER BY ' +@chvOrder+' '+@chvSort
EXEC (@chvSQL)
GO程序中调用这样一个存储过程,可以得到select 查询出来的结果集吗?oracle中好象不能直接去执行一条动态形成sql语句.能得到的话那些值怎么去取呢?是不是象平常执行sql语句没有区别.
例:delphi直接adoquery1.add('exec 过程 (...)');
adoquery1.open;
就可以了!
是象平常执行sql语句没有区别