Wie Lösung mit gespeicherter Prozedur?

12/03/2009 - 17:41 von Hartmut Callies | Report spam
Hallo,
ich habe eine gespeicherte Prozedur (SQL 2005 Server) erstellt.
Nun will ich mit dieser Prozedur folgendes, habe aber keinen Lösungsansatz.

Tabelle Test01 mit Spalte ID, TextA und TextB.

ID TextA TextB
1 auf a (auf)
2 zu z (zu)
3 Beispiel B (Beispiel)
... ... ...

Inhalte der Spalten ID und TextA existieren.
Die Prozedur soll die komplette Tabelle durchlaufen und aus Spalte TextA
den Inhalt der Spalte TextB erzeugen, d.h nur den Anfangsbuchstaben vom
Eintrag in Spalte TextA, dann Leerzeichen und danach den Eintrag von Spalte
TextA in Klammern.
Kann mir jemand helfen?
Danke.

Hartmut Callies
 

Lesen sie die antworten

#1 Gerd Haseloff
12/03/2009 - 19:04 | Warnen spam
On 12 Mrz., 17:41, "Hartmut Callies" wrote:
Hallo,
ich habe eine gespeicherte Prozedur (SQL 2005 Server) erstellt.
Nun will ich mit dieser Prozedur folgendes, habe aber keinen Lösungsansatz.

Tabelle Test01 mit Spalte ID, TextA und TextB.

ID         TextA          TextB
1             auf                a (auf)
2             zu                 z (zu)
3           Beispiel          B (Beispiel)
...          ...                  ...

Inhalte der Spalten ID und TextA existieren.
Die Prozedur soll die komplette Tabelle durchlaufen und aus Spalte TextA
den Inhalt der Spalte TextB erzeugen, d.h nur den Anfangsbuchstaben vom
Eintrag in Spalte TextA, dann Leerzeichen und danach den Eintrag von Spalte
TextA in Klammern.
Kann mir jemand helfen?
Danke.

Hartmut Callies





Hallo Hartmut,


der folgende Versuch hat bei mir zu dem gewünschten Ergebnis geführt

USE [Versuche]

GO

if exists(Select * from sys.tables where name = 'TEST') Drop Table
Test
GO

/****** Object: Table [dbo].[Test] Script Date: 03/12/2009
18:50:05 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Test](
[ID] [int] IDENTITY(1,1) NOT NULL,
[TextA] [nvarchar](50) NULL,
[TextB] [nvarchar](50) NULL
) ON [PRIMARY]

GO


Insert into Test(TextA)
Select 'auf'

Insert into Test(TextA)
Select 'zu'

Insert into Test(TextA)
Select 'Beispiel'


select * from Test

update Test Set TextB = LEFT(TextA,1)+' ('+TextA+')'

select * from Test

ID TextA TextB
1 auf a (auf)
2 zu z (zu)
3 Beispiel B (Beispiel)



Gruss Gerd

Ähnliche fragen