Bonjour,
Croyez-vous que les requêtes dinamiques (voir le code ci-dessous sur SQL) correspondent au DBMS_SQL.OPEN_CURSOR d'Oracle ?
declare @req varchar(2000)
if exists(select 1 from sysobjects where name = 'MaTable' and type = 'U' )
begin
set @req = 'truncate table MaTable'
exec(@req)
end
else
create
table MaTable
( var1 int not null, nomvar1 varchar(12) null,
var2 int null, nomvar2 varchar(12) null,
var3 int null, nomvar3 varchar(12) null,
var4 float not null, var5 float not null );
Pour rappel, le code Oracle original est :
BEGIN
DECLARE
cid number \;
num_test number \;
BEGIN
SELECT COUNT(*) INTO num_test FROM user_tables WHERE RTRIM(table_name) = UPPER('MaTable') \;
IF num_test = 1 THEN
cid := DBMS_SQL.OPEN_CURSOR \;
DBMS_SQL.PARSE(cid, 'DROP TABLE MaTable', DBMS_SQL.NATIVE) \;
DBMS_SQL.CLOSE_CURSOR(cid) \;
END IF \;
END \;
END \; ;
create
table MaTable
( var1 number not null, nomvar1 varchar2(12) null,
var2 number null, nomvar2 varchar2(12) null,
var3 number null, nomvar3 varchar2(12) null,
var4 number(37,16) not null, var5 number(37,16) not null );
Merci pour votre aide !
Partager