SQL - Opinión mas consejo

 
Vista:

Opinión mas consejo

Publicado por Angel (1 intervención) el 26/07/2020 23:24:03
Hola, primero agradecer que te tomes la molestia de leerme. La cuestión es la siguiente.
Quiero que de forma automática cuando un usuario se registre en mi sitio se creen unos campos en otra db.
Habia pensado en incluir en la query de la creacion de cuenta el insert en la otra. O bien crear un Trigger que detecte cuando se crea una nueva cuenta y registre los campos que quiero en la otra.
No se que seria mejor opción, hay que tener en cuenta que uno de los campos de la otra db es el PK numerico not null y en esa base se insertan entradas por otras razón que no son solo el registro como quiero hacer.

Entonces si lo hago desde el registro de la web deberia hacer una consulta para conocer el ultimo valor de la columna de la primary key y añadir un 1 o cual seria la forma correcta de hacerlo.
Os dejo un poco lo que estaba intentando hacer yo (un destrozo seguro) obviamente sobre el campo de la pk habia puesto un valor directo para probar dado que no me ejecuta el segundo insert to y estaba probando, depaso si alguien sabe ver el error seria de ayuda.
Primeramente definí todos los campos que se verían afectados.
1
2
3
4
5
6
7
# query
if($this->_md5Enabled) {
    $query = "INSERT INTO "._TBLMI." ("._CLMNUSERNM.", "._CLMNPASSWD.", "._CLMNMEMBNAME.", "._CLMNSNONUMBER.", "._CLMNEMAIL.", "._CLMNBLOCCODE.", "._CLMNCTLCODE.") VALUES (:username, [dbo].[fn_md5](:password, :username), :name, :serial, :email, 0, 0)"; "SET IDENTITY_INSERT "._TBLCASIN." ON"; "INSERT INTO "._TBLCASIN." ("._CLMNBSICOD.", "._CLMNMAICOD.", "._CLMN_CASHACCID.", "._CLMNINVTYP.", "._CLMNPACKMAIN.", "._CLMNPRODUBASE.", "._CLMNPRODUMAIN.", "._CLMNCOINVALU.", "._CLMNPRODUTYP.",) VALUES (125, 0, ':username', 83, 110, 1100, 1100, 10, 80)"; "SET IDENTITY_INSERT "._TBLCASIN." OFF";
 
} else {
    $query = "INSERT INTO "._TBLMI." ("._CLMNUSERNM.", "._CLMNPASSWD.", "._CLMNMEMBNAME.", "._CLMNSNONUMBER.", "._CLMNEMAIL.", "._CLMNBLOCCODE.", "._CLMNCTLCODE.") VALUES (:username, :password, :name, :serial, :email, 0, 0)"; "SET IDENTITY_INSERT "._TBLCASIN." ON"; "INSERT INTO "._TBLCASIN." ("._CLMNBSICOD.", "._CLMNMAICOD.", "._CLMN_CASHACCID.", "._CLMNINVTYP.", "._CLMNPACKMAIN.", "._CLMNPRODUBASE.", "._CLMNPRODUMAIN.", "._CLMNCOINVALU.", "._CLMNPRODUTYP.",) VALUES (125, 0, ':username', 83, 110, 1100, 1100, 10, 80)"; "SET IDENTITY_INSERT "._TBLCASIN." OFF";
}

Lo que es el registro funciona bien la otra parte no funciona...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder