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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| CREATE PROCEDURE insert_newid AS
declare @client varchar(255); -- Nom du client
declare @id char(32); -- Identifiant génèrer aléatoirement
declare @id_crea char(32); -- Identifiant du créateur
declare @d datetime; -- Date du jour
declare @id_perm char(32); -- Identifiant de la permission
declare @nl char(1); -- NOT_LOCKABLE
declare @mod char(32) ; -- MODIFIED_BY_ID
declare @mr varchar(8) ; -- MAJOR_REV
declare @cs char(32) ; -- CURRENT_STATE
declare @s varchar(32); -- STATE
declare @mod_on datetime; -- MODIFIED_ON
declare @nv char(1); -- NEW_VERSION
declare @ic char(1); -- IS_CURRENT
declare @g int; -- GENERATION
declare @ir char(1); -- IS_RELEASED
declare d CURSOR FOR SELECT Société FROM PLM_TEST..clients -- Curseur récupérant tous les nom des clients
BEGIN
-- Récupérartion de l'identifiant du créateur
SET @id_crea = (SELECT [id] FROM InnovatorSolutions.innovator.[USER] WHERE [keyed_name]='Innovator Admin')
-- Date du jour
SET @d = GetDate();
-- Récupérartion de l'identifiant de la permission
SET @id_perm = (SELECT [id] FROM InnovatorSolutions.innovator.[PERMISSION] WHERE [name]='Customer');
SET @nl='0';
-- Récupérartion de l'identifiant de l'utilisateur 'Innovator Admin'
SET @mod = (SELECT [id] FROM InnovatorSolutions.innovator.[USER] WHERE [keyed_name]='Innovator Admin')
SET @mr='A';
-- Récupérartion du 'CURRENT_STATE' du client 'A' pour qu'ils soient tous dans le même état
SET @cs = (SELECT CURRENT_STATE FROM innovator.CUSTOMER WHERE (NAME = 'A'));
SET @s='Released';
-- Date courante
SET @mod_on=GetDate();
SET @nv='1';
SET @ic='1';
SET @g=1;
SET @ir='1';
OPEN d
FETCH NEXT FROM d INTO @client;
WHILE @@FETCH_STATUS = 0
BEGIN
-- Génération de l'identifiant unique
SET @id= innovator.item_id(newid());
-- Insertion des données
INSERT INTO InnovatorSolutions.innovator.CUSTOMER
([NAME], [ID], CREATED_BY_ID, CREATED_ON, PERMISSION_ID, CONFIG_ID,KEYED_NAME,NOT_LOCKABLE, MODIFIED_BY_ID, MAJOR_REV, CURRENT_STATE,
STATE, MODIFIED_ON, NEW_VERSION, IS_CURRENT, GENERATION, IS_RELEASED)
VALUES (@client, @id, @id_crea, @d, @id_perm, @id,@client,@nl, @mod,@mr,@cs,@s,@mod_on,@nv,@ic,@g,@ir);
-- Passage à l'élément suivant
FETCH NEXT FROM d INTO @client;
END
END
-- Fermeture du curseur
CLOSE d;
-- Libération de la mémoire du curseur
DEALLOCATE d;
GO |
Partager