Je déplace actuellement un produit de SQL Server à Oracle. Je suis semi-familier avec SQL Server et je ne sais rien sur Oracle, alors je m'excuse si la simple présence de cette question offense quiconque.Conversion de type de données de SQL Server à Oracle
déduisant cette page, http://download.oracle.com/docs/cd/E12151_01/doc.150/e12156/ss_oracle_compared.htm, il semblerait que la conversion de type de données de SQL Server à Oracle doit être:
REAL = FLOAT (24) -> FLOAT (63)
FLOAT (p) -> FLOAT (p)
TIMESTAMP -> NUMERO
NVARCHAR (n) -> VARCHAR (n * 2)
NCHAR (n) -> CHAR (n * 2)
Voici mes questions concernant les:
Pour Float, considérant que FLOAT (p) -> FLOAT (p), ne serait pas ce que cela signifie aussi que FLOAT -> FLOAT (24)?
Pour TIMESTAMP, puisque Oracle a aussi sa propre version, ne serait-il pas mieux que TIMESTAMP -> TIMESTAMP? Enfin, pour NVARCHAR (n) et NCHAR (n), je pensais que le problème serait lié à Unicode. Puis, encore une fois, puisque Oracle fournit sa propre version des deux, cela n'aurait-il pas plus de sens que NVARCHAR (n) -> NVARCHAR (n) et NCHAR (n) -> NCHAR (n)?
Il serait très apprécié si quelqu'un devait élaborer sur les 3 questions précédentes.
Merci d'avance.
un horodatage SQL Server colonne de type de données est une valeur de type aléatoire qui sera change automatiquement chaque fois que la ligne est changée, il est utilisé pour suivre les changements. Lorsque vous chargez les données, vous stockez cette valeur timestamp, lorsque vous revenez à mettre à jour les données que vous pouvez faire UPDATE ... WHERE PK = @ PK ET TimestampCol = @ PreviousTimestamp. Si aucune ligne n'est affectée, les données ont été modifiées par quelqu'un d'autre depuis que vous l'avez chargé. En outre, l'horodatage est en cours de suppression de SQL Server, car le nom était confus, il est remplacé par [rowversion (Transact-SQL)] (http://msdn.microsoft.com/en-us/library/ms182776.aspx) –
Merci pour votre réponse rapide! – BeginnerAmongBeginners