Bonjour

J'ai un petit souci sur la création d'une procédure stockée...

J'ai une table Streets dans une base Carto, ainsi qu'une autre table Streets dans une base Test. Mon but est de copier toutes les données de Carto.Streets dans Test.Streets.

La table Test.Streets comporte exactement les même champs que la table Carto.Streets. La seule différence étant dans le type de certains champs.

Je fais donc un INSERT INTO Test.Streets avec un SELECT imbriqué de tous mes champs de Carto.Streets avec pour certains un cast/convert.

Mon problème : certains champs de type nvarchar(255) contiennent les valeurs 'Y' ou 'N', que je dois donc caster en bit : valeur '1' ou '0'.

Pour l'instant, j'ai ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
INSERT INTO Test.Streets
	SELECT ID,
        NAME,
        colx = (CASE colx
		WHEN 'Y' THEN convert(bit,'TRUE')
		ELSE convert(bit,'FALSE')
		END),
        NUM
FROM Carto.Streets
Mon but est de pouvoir stocker la partie en rouge dans une procédure stockée, afin de pouvoir juste faire un appel à cette procédure stockée dans mon SELECT imbriqué.

Pourquoi? Parce que la table ayant une multitude de champ, "colx" n'est pas le seul pour lequel j'effectue ce "bout de code"...

Merci beaucoup pour votre aide, je bloque dessus depuis plusieurs jours maintenant...

Comment passer des paramètres à une procédure : paramètre étant un champ d'une table, et pouvoir ensuite modifier ces paramètres et les renvoyer...

Je sèche!

Merci beaucoup pour votre aide, j'espère avoir été assez claire...