私は空間データ型と SQL サーバーも初めて使用します。次のテーブルがあります。
表 (A)
ZipCodesUSA
- 列:
zipcodes| latitude| longitude| city| state
- 列:
表(B)
US_Cities_longitude_Latitude
- 列:
ID int| City nvarchar(40)| Coordinates GEOGRAPHY|
- 列:
私がやろうとしているのは、SPROC を作成して、すべてのデータをテーブルA
からGEOGRAPHY に転送しB
、状態ごとに GEOGRAPHY に変更することです。変更はありますが、状態ごとに 1 行のみです。なんで?私はSELECT 1
何も指定しませんでした。前もって感謝します!
ALTER PROC dbo.USA_Cities
@StateAbbr NVARCHAR(2)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @City NVARCHAR(30)
DECLARE @Longitude NVARCHAR(50)
DECLARE @Latitude NVARCHAR(50)
SELECT @City = City, @Longitude= Longitude,@Latitude= Latitude
FROM ZipCode
WHERE StateAbbr = @StateAbbr
INSERT INTO dbo.US_Cities(City, Coordinates)
VALUES(@City, geography::Point(ISNULL(@Longitude, ''),ISNULL(@Latitude, ''), 4326))
END;
EXEC dbo.USA_Cities 'NY'