2017-06-28 7 views
0

ソース表のデータを含むディメンション表をロードする必要があります。いくつかの列を異なるデータ型に変換する必要があります。私のコードを適切に設定する方法や、構文エラーのいくつかをどう扱うかはわかりません。ディメンション表にデータをロードするためのストアド・プロシージャの作成(変換あり)

緯度と経度を地理タイプにする必要があります。また、タイムゾーンをテキストから整数にする必要があります。 Imが作業しているコードをHeresします。このようなものについてはどのように

USE DBM298_DataMart; 
GO 

CREATE PROC Load_Dim_Aiports 
AS 
SET IDENTITY_INSERT Dim_Airports ON 

BEGIN 

INSERT INTO Dim_Airports 

(AirportId, AirportName, City, Country, LatLong , Altitude, Timezone) 

SELECT AirportId, AirportName,City,Country, Latitude, Longitude, Altitude, Timezone 

FROM src_flights; 
SET LatLong = geography::Point(Latitude,Longitude,4326) 

DECLARE @NegativeNumeric INT 

DECLARE @NegativeCharString VARCHAR(50) 

SELECT @NegativeNumeric = -1 * CAST (REPLACE(@NegativeCharString ,'-','') AS DECIMAL (10,2) 

END 

答えて

1

USE DBM298_DataMart; 
GO 

CREATE PROC Load_Dim_Aiports 
AS 
SET IDENTITY_INSERT Dim_Airports ON 

BEGIN 

INSERT INTO Dim_Airports 

(AirportId, AirportName, City, Country, LatLong , Altitude, Timezone) 

SELECT AirportId, AirportName, City, Country, geography::Point(Latitude,Longitude,4326) as LatLong , Altitude, cast(Timezone as int) as Timezone 

FROM src_flights; 

END 
+0

これは完全に働いたありがとうございました!私は地理的な部分がどこに行ったか把握できませんでした。あなたはこれで私を多く助けました! –

関連する問題