Ich arbeite mit einem alten Tool und die Datenbank, die mit diesem Tool in längst vergangen war. Ich bin neu dabei und brauche Hilfe, um das zu verstehen. Ich brauche Hilfe beim Schreiben des Codes, den ich jedes Mal ausprobiert und aussortiert habe.Update-Problem mit gespeicherten Prozedur
Ich habe 4 Tabellen Das einzige, was jede Tabelle gemeinsam hat, ist der Spaltenname "AN". Ich brauche zu aktualisieren „AN“, wenn ein Agent dort Namen bisher rechtlich
verändert habe ich mit diesem Verfahren
USE [HSDB]
GO
/****** Object: StoredProcedure [dbo].[UpdateNames] Script Date: 9/16/2016 12:32:33 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[UpdateNames]
--Add the parameters for the stored procedure here
@AN varchar(MAX)
AS
BEGIN
--SET NOCOUNT ON added to prevent extra result sets from
--interfering with SELECT statements.
SET NOCOUNT ON;
--Insert statements for procedure here
UPDATE Att
SET AN = @AN
WHERE (AN = @AN)
UPDATE MS
SET AN = @AN
WHERE (AN = @AN)
UPDATE Lost
SET AN = @AN
WHERE (AN = @AN)
UPDATE WeeklyCharges
SET AN = @AN
WHERE (AN = @AN)
END
Kann jemand bitte sagen Sie mir kommen, was ich falsch mache. Vielen Dank
'SET AN = @AN WHERE AN = @ AN'. Das tut nichts. Sie setzen es auf den gleichen Wert. – Eric
Brauchen Sie wirklich varchar (max)? Sicher sind Ihre Anmeldenamen weniger als 8.000 Zeichen. –
Aber ich bin neugierig. Warum versuchen Sie, Code zu reparieren, wenn keine Datenbank vorhanden ist? Versuchen Sie, eine Datenbank aus dem Anwendungscode zurückzuentwickeln? Es scheint sehr wahrscheinlich, dass es nahezu unmöglich ist, es richtig zu machen. Und ernsthaft den vollen Namen in mehreren Tabellen zu speichern ist einfach schrecklich. Es sollte auf einen einzelnen Eintrittspunkt normalisiert werden. –