sql server 存储过程 转 oracle

火星的你 2009-05-21 02:51:01
下面是小弟要转的一段sql server存储过程,要转成oracle,我对oracle也不熟悉,希望大家帮忙转一下,我好参考,谢谢!

CREATE PROCEDURE [dbo].[QMAP_MB_SEARCHBYID]
@ID INT,
@MAPCODE VARCHAR(8)
AS

DECLARE @CONDITION NVARCHAR(210)

DECLARE @SELECT_COMMAND NVARCHAR(1024)

DECLARE @DBName VARCHAR(50)
SELECT @DBName=DBNAME FROM [geomap_china].dbo.MAP2DB WHERE MAPCODE=@MAPCODE

DECLARE @POITBL VARCHAR(64)
SET @SELECT_COMMAND = N'SELECT @TBL=DEV_TBL FROM ['+@DBName+'].dbo.DEV_GRP WHERE DEV_TBL LIKE ''P%'''
EXECUTE SP_EXECUTESQL @SELECT_COMMAND,N'@TBL VARCHAR(64) OUTPUT',@POITBL OUTPUT

SET @SELECT_COMMAND = N'SELECT RTRIM(NAME) NAME, RTRIM(ADDRESS) ADDRESS,ISNULL(RTRIM(TELEPHONE),'''') TELEPHONE,RTRIM(PY) PY,ISNULL(ZIPCODE,'''') ZIPCODE FROM ['+@DBName+'].dbo.'+@POITBL+
' WHERE ID='+LTRIM(STR(@ID))-- + ' FOR XML AUTO'
EXECUTE SP_EXECUTESQL @SELECT_COMMAND
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
火星的你 2009-05-21
  • 打赏
  • 举报
回复
对了,存储过程中dbo.这不用去掉吗?
火星的你 2009-05-21
  • 打赏
  • 举报
回复
谢谢,不过V_TBL dbo.DEV_GRP%TYPE;
1. 其中%TYPE是什么意思啊 ?
2.我把int型改成INTEGER 或NUMBER 也可以吧?
3.在SQL SERVER中 STR(ID) 在ORACLE中改用什么啊?
lee24 2009-05-21
  • 打赏
  • 举报
回复
CREATE OR REPLACE PROCEDURE DBO.QMAP_MB_SEARCHBYID
(
V_ID INT,
V_MAPCODE VARCHAR2
)
IS
V_CONDITION VARCHAR2(210);
V_SELECT_COMMAND VARCHAR2(1024);
V_DBNAME VARCHAR2(50);
V_POITBL VARCHAR2(64);
V_TBL dbo.DEV_GRP%TYPE;
BEGIN
SELECT DBNAME
INTO V_DBNAME
FROM DBO.MAP2DB
WHERE MAPCODE = V_MAPCODE;

V_SELECT_COMMAND := 'SELECT DEV_TBL INTO V_TBL FROM ' || V_DBNAME || '.dbo.DEV_GRP WHERE DEV_TBL LIKE ''P%''';
EXECUTE IMMEDIATE V_SELECT_COMMAND;
...
END DBO.QMAP_MB_SEARCHBYID;
火星的你 2009-05-21
  • 打赏
  • 举报
回复
哪位大侠帮帮忙啊?帮忙转一下上面的存储过程。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧