WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   MS SQL Server 2005 - Views erzeugen (http://www.wcm.at/forum/showthread.php?t=216136)

rem996 21.05.2007 14:51

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 :D

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! :D

vielen dank
lg
rem996

delphirocks 21.05.2007 20:09

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).

rem996 22.05.2007 11:20

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 :D


lg
rem996

Biri 25.05.2007 17:48

hi,

...wenn du mal wirklich was zu kämpfen willst, dann nimm tamino. :p
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

delphirocks 26.05.2007 08:57

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?

Biri 27.05.2007 10:36

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. :eek:

fg
hannes


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:36 Uhr.

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