Bonjour à tous, j'ai le script sql suivant pour SQLServer, quelqu'un pourrait-il m'aider pour avoir l'équivalent sous Oracle (11g/10g) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
DECLARE @state char(100);
SET @state = (SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Interaction' AND COLUMN_NAME = 'IntPlace');
IF 'char' = @state
	BEGIN
		PRINT 'IntPlace is a char DATA_TYPE'
		IF 350 > (SELECT CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Interaction' AND COLUMN_NAME = 'IntPlace')
			BEGIN
				PRINT 'IntPlace is smaller than 350';
				ALTER TABLE Interaction ALTER COLUMN IntPlace char(350);
			END
	END
 
IF 'varchar' = @state
	BEGIN
		PRINT 'IntPlace is a varchar DATA_TYPE'
		IF 350 > (SELECT CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Interaction' AND COLUMN_NAME = 'IntPlace')
			BEGIN
				PRINT 'IntPlace is smaller than 350';
				ALTER TABLE Interaction ALTER COLUMN IntPlace varchar(350);
			END
	END
 
IF 'nvarchar' = @state
	BEGIN
		PRINT 'IntPlace is a nvarchar DATA_TYPE'
		IF 350 > (SELECT CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Interaction' AND COLUMN_NAME = 'IntPlace')
			BEGIN
				PRINT 'IntPlace is smaller than 350';
				ALTER TABLE Interaction ALTER COLUMN IntPlace nvarchar(350);
			END
	END
 
IF 'nchar' = @state
	BEGIN
		PRINT 'IntPlace is a nchar DATA_TYPE'
		IF 350 > (SELECT CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Interaction' AND COLUMN_NAME = 'IntPlace')
			BEGIN
				PRINT 'IntPlace is smaller than 350';
				ALTER TABLE Interaction ALTER COLUMN IntPlace nchar(350);
			END
	END
Merci.