SQLServer:
CREATE PROCEDURE reguser
@username varchar(20)
as
declare @pwd char(6)
set @pwd = '123456'select pwd
insert into users(account,psw) values(@username,@pwd)
end调用reguser 'myname',然后取结果集的第一个字段就是用户密码,ORACLE该怎么实现?
CREATE PROCEDURE reguser
@username varchar(20)
as
declare @pwd char(6)
set @pwd = '123456'select pwd
insert into users(account,psw) values(@username,@pwd)
end调用reguser 'myname',然后取结果集的第一个字段就是用户密码,ORACLE该怎么实现?
所谓可移植性差是相对而言的,本来开发就应当是基于OS和DB的,每个OS和DB的特性都不同,你要真正发挥效用,必须是依赖平台的
CREATE OR REPLACE PROCEDURE sp_Insert_SQLPLUS_PRODUCT_PROFILE( v_PRODUCT SQLPLUS_PRODUCT_PROFILE.PRODUCT%TYPE, v_USERID SQLPLUS_PRODUCT_PROFILE.USERID%TYPE, v_ATTRIBUTE SQLPLUS_PRODUCT_PROFILE.ATTRIBUTE%TYPE, v_SCOPE SQLPLUS_PRODUCT_PROFILE.SCOPE%TYPE, v_NUMERIC_VALUE SQLPLUS_PRODUCT_PROFILE.NUMERIC_VALUE%TYPE, v_CHAR_VALUE SQLPLUS_PRODUCT_PROFILE.CHAR_VALUE%TYPE, v_DATE_VALUE SQLPLUS_PRODUCT_PROFILE.DATE_VALUE%TYPE, v_LONG_VALUE SQLPLUS_PRODUCT_PROFILE.LONG_VALUE%TYPE)ASBEGIN
INSERT INTO SQLPLUS_PRODUCT_PROFILE ( PRODUCT, USERID, ATTRIBUTE, SCOPE, NUMERIC_VALUE, CHAR_VALUE, DATE_VALUE, LONG_VALUE ) VALUES ( v_PRODUCT, v_USERID, v_ATTRIBUTE, v_SCOPE, v_NUMERIC_VALUE, v_CHAR_VALUE, v_DATE_VALUE, v_LONG_VALUE )
COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK;END sp_Insert_SQLPLUS_PRODUCT_PROFILE