WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 21.05.2007, 14:51   #1
rem996
Veteran
 
Registriert seit: 16.08.2001
Alter: 43
Beiträge: 293


rem996 eine Nachricht über ICQ schicken
Standard MS SQL Server 2005 - Views erzeugen

Hallo

derzeit migriere ich ein paar Views auf MS SQL Server 2005 - besser gesagt ich bin gezwungen dies zu tun

Dabei möchte ich eigentlich ein SQL-statement schreiben das alle Views dropp'd (sofern vorhanden) und dann diese neu erzeugt.

Dabei bin ich jetzt auf ein paar hindernisse gestossen. vielleicht kann mir jemand da weiterhelfen

1)
bei oracle gibt's ja sowas wie ein create table xy if not exists. gibt's sowas auf ms sql server nicht? bis jetzt habe ich eine lösung dass ich immer die INFORMATION_SCHEMA.VIEWS abfragen muss ob der view existiert bevor ich ihn erzeuge. was aber ohnehin nicht geht (siehe punkt 2)
geht das auch anders / besser?

2)
ich bringe es nicht her ein create view statement mit einem anderen statement zusammen zu fassen. der sql server motzt dann immer dass 'create view must be the first statement in a query batch...'
geht das irgendwie das zu kombinieren?
create tables kann ich z.b. 5 hintereinander schreiben und diese einfach mit ; trennen

gibt es hier einen ms sql server profi der mir eine gute lösung anbieten kann? - das wäre super!

vielen dank
lg
rem996
rem996 ist offline   Mit Zitat antworten
Alt 21.05.2007, 20:09   #2
delphirocks
bitte Mailadresse prüfen!
 
Registriert seit: 17.03.2002
Beiträge: 198


Standard

Bin auch kein Sqlserver Checker, sondern in der gleichen Situation wie du
- verwende gerade "unfreiwillig" den SQL Server 2005 (statt Oracle).

Also so geht's:

if object_id('vauftragsdetails') is not null
drop view vauftragsdetails
go

Vor dem View Statement einfach das "go" aufrufen und der Batch wird abgearbeitet.

z.B.
create table bankdaten
(
id int not null identity primary key,
kunden_id int not null,
blz varchar(5) not null,
kontonummer varchar(20) not null,
updated_on datetime not null
);
go
create view vumsatzprokunde as
select id,sum(gesamtwert) as kundengesamt from vkundenumsaetze
group by id;
go


Dann geht's.

Der SQL Server ist wirklich SEHR gewöhnungsbedürftig, viel schlimmer als gedacht (dafür allerdings günstig bei Webhostern zu haben).
delphirocks ist offline   Mit Zitat antworten
Alt 22.05.2007, 11:20   #3
rem996
Veteran
 
Registriert seit: 16.08.2001
Alter: 43
Beiträge: 293


rem996 eine Nachricht über ICQ schicken
Standard

hey delphirocks

danke für den tip
so funktionierts! gut zu wissen dass ich nicht der einzige bin der mit dem sql-server zu kämpfen hat


lg
rem996
rem996 ist offline   Mit Zitat antworten
Alt 25.05.2007, 17:48   #4
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

hi,

...wenn du mal wirklich was zu kämpfen willst, dann nimm tamino.
warum findet ihr den sql server 2005 so schlecht?

ich hab sql server und oracle 10g probiert (hab eine abstraktionsschicht für beide programmiert) und finde den sql server weit einfacher zu handhaben.

fg
hannes
Biri ist offline   Mit Zitat antworten
Alt 26.05.2007, 08:57   #5
delphirocks
bitte Mailadresse prüfen!
 
Registriert seit: 17.03.2002
Beiträge: 198


Standard

Hi Biri,

ich finde ihn nicht schlecht, allerdings etwas gewöhnungsbedürftig.
Entäuscht bin ich eigentlich nur von T-SQL. Das spielt ja eher in der Liga von Mysql, Firebird und Postgres. Da bietet Oracle schon um einiges mehr (z.B. Packages, Objektorientierung, etc.).

Die Qualität der Doku ist bei Oracle auch besser. Beim Sql-Server ist es z.T. schwer, an fundierte Informationen zu gelangen.

Aber wie gesagt, ansonsten finde ich den Sql-Server ganz OK.

Tamino kenne ich nicht, was ist denn das für ein Exot? Eine XML-Datenbank, oder?
delphirocks ist offline   Mit Zitat antworten
Alt 27.05.2007, 10:36   #6
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

hi,

naja, bissl mehr kann das T-sql vom sql server schon wie bei mysql. Firebird und postgres kenne ich zu wenig, um das beurteilen zu können.

Wenn ich dinge machen möchte, die weit über t-sql hinausgehen, hab ich im sql server die möglichkeit, .net code zu schreiben und ausführen zu lassen und da sind die möglichkeiten - im rahmen der programmierung - schon sehr vielfältig.

bei oracle ist - so finde ich - die lernkurve eine steilere. alleine schon die installation mit listener einrichten u.v.a. Die Oberfläche: Sql Server Management Studio finde ich auch konfortable, ist aber sicher geschmacks + gewöhnungssache. Wobei man auch sagen muss, dass sich Oracle eh schon stark verbessert hat - ich habe halt noch erinenrungen an Version 8.x und da gabs für jede funktion ein eigenes programm und einen sql editor, wo man nichtmal text einfügen konnte und paar so schmankerl.

stimmt, tamino ist eine native xml datenbank der software ag.
...und ja, man kann es wohl als exot bezeichnen und ich hatte die freude, damit arbeiten zu müssen.

Da kam es schon mal vor, dass das ganze DBS abgestürzt ist, wenn man eine "falsche" query abgesetzt hat. Manchmal verschwanden auch Daten.
...und sowas wird dann tatsächlich als DBS verkauft.

fg
hannes
Biri ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:08 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag