Archiv der Kategorie MS-SQL Server 2000

Im Query überprüfen ob der Wert numerisch ist [isnumeric]

Dieses Beispiel  gibt alle Postleitzahlen zurück die nur aus Ziffern bestehen.  :

select * from customers where isnumeric(CityZip)=1

Dieses Beispiel  gibt alle Postleitzahlen zurück die N.I.C.H.T. aus reinen Ziffern bestehen.

select * from customers where isnumeric(CityZip)=0

MS SQL Server: Prozedur aus Prozedur aufrufen

call procedure from procedure 

Eine gespeicherte Prozedur aus einer Prozedur heraus aufzurufen ist nichts besonders. Interessant wird es aber wenn man einen Wert in der aufgerufenen Prozedur in der aufrufenden SP weiterverarbeiten möchte. 

Dazu müssen zwei Dinge gewährleistet sein: 

1)     Die aufgerufene Prozedur muss einen Wert zurückliefern2)     Die aufrufende Prozedur muss eine Variable bereithalten die mit dem zurückgegebenen Datentyp übereinstimmt 

 

Im Beispiel sieht das stark vereinfacht so aus: 

Stored Procedure mit Rückgabewert

 

 

create proc getID

 

            @sName varchar(15)

 

as

 

            declare @id as int

 

            SELECT TOP 1 @id = CID FROM customers

  

RETURN @id

 

 

 

################################################# 

 

create proc setNewValue

  

as

  

declare @v1 int

  

EXEC @v1 =  getID ‘myName’

 

SELECT  @v1

  

 

 

 

Bei Fragen können Sie mich gerne über das Kontaktformular kontaktieren.War diese Information hilfreich? Dann würde ich mich über eine Verlinkung freuen.  

Call Stored procedure from within another stored procedure and return a Value to work on it. Was this Information helpfull? I’d be very pleased if you link my page.   

MS SQL-Server: Zuletzt eingefügte ID ’@@Identity’

Im Microsoft-SQL Server verwendet man dazu die globale Variable:  

Zum Beispiel:  

create proc writeIPgetID

 

            @ipAddress varchar(15)

 

as       

 

            INSERT INTO ldIPs (ipAddress) VALUES (@ipAddress)

 

            SELECT @@Identity as ipID

  

 

 

exec writeIPgetID ‘192.168.140.251′ 

 

 

You can use the global Variable ‘@@Identity’ – It will help you to find last insert id.

SQL Server 2000 Performance steigern mit ‘SET NOCOUNT ON’

Beim SQL Server kann man die Leistung der Commands steigern:

Bei fast jeder gespeicherten Prozedur sollte am Anfang SET NOCOUNT ON gesetzt sein. Es zeichnet einen guten Programmierstil aus, am Ende SET NOCOUNT OFF zu setzen. [Durch SET NOCOUNT ON wird verhindert, dass SQL Server für jede Anweisung in einer gespeicherten Prozedur DONE_IN_PROC-Meldungen an den Client sendet. – Hrsg.]. Dieser Standard gilt auch für Trigger.

Quelle: http://www.microsoft.com/germany/msdn/library/servers/sqlserver/TSQLProgrammierstandards.mspx?mfr=true

Trans SQL Datum Zeit konvertieren

T-SQL: Datum und Zeit in einer Abfrage konvertieren

Convert DateTime Beispiel:

select count(mID) from dataArchive where Erfassungszeit > convert(datetime,’2007-06-26 00:00:01.000′,121 ) AND Erfassungszeit < convert(datetime,’2007-06-26 23:59:59.000′,121 )

SELECT über mehrere Datenbanken

Datenbankabfrage über mehrere Datenbanken

zum Beispiel:
use pubs

select a.au_fname, a.au_lname,
e.FirstName, e.LastName
from authors as a
join Northwind.dbo.Employees as e
on (a.au_fname = e.FirstName)

SQL Server 2000: Transaktionsprotokoll verkleinern

Im MS-Queryanalyzer folgenden Befehl absetzen:

DBCC SHRINKFILE(pubs_log, 2)

Wobei “pubs_log” mit “MeinDatenbankName_log” ersetzt wird.

Details stehen auch hier: http://support.microsoft.com/kb/272318/

|