存储过程怎么返回参数值

[复制链接]
查看11 | 回复5 | 2012-9-28 17:34:42 | 显示全部楼层 |阅读模式
create or replace procedure QueryPagedTable(order_ in nvarchar2,)
is
newSql nvarchar2(2000);
begin
newSql := '';
IF (Length(Order_) > 0) THEN
newSql := 'select * from 表名 order by '||order_;
ELSE
newSql := 'select * from 表名 order by "id"';
end if;
--exec newSql;
Dbms_Output.put_line(newSql);
end QueryPagedTable;

红色字体不发,如果是MSSQL是可以的,Oracle不可以,所以我要把newSql返回给我,这个该怎么弄?

回复

使用道具 举报

千问 | 2012-9-28 17:34:42 | 显示全部楼层
create or replace procedure QueryPagedTable(order_ in nvarchar2,newSqlout nvarchar2)
is

回复

使用道具 举报

千问 | 2012-9-28 17:34:42 | 显示全部楼层
你写的这个很多问题 啊,id双引号去区分大小写的
回复

使用道具 举报

千问 | 2012-9-28 17:34:42 | 显示全部楼层
dingjun123 发表于 2012-9-3 10:27
你写的这个很多问题 啊,id双引号去区分大小写的

id是关键词,不加“”吗
回复

使用道具 举报

千问 | 2012-9-28 17:34:42 | 显示全部楼层
289936158 发表于 2012-9-3 11:04
id是关键词,不加“”吗

不能加的,你加了,就必须是小写的,建表的时候就要加双引号小写,如果你加了写大写,到是没有啥问题,表的存储如果是大写的话
回复

使用道具 举报

千问 | 2012-9-28 17:34:42 | 显示全部楼层
建议看看《oracle最佳实践》编程的命名等等,都很不规范
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行