这是我发布的第一个问题,但我坚持认为我的代码是正确的,错误显示状态
将数字转换为数据类型数字的算术溢出错误 声明已经终止。
我只是想把信息添加到表中,但我不知道我做错了什么。在此先感谢您的帮助。
USE master
GO
IF EXISTS(SELECT * FROM sys.databases WHERE name = 'DeepImpact2')
DROP DATABASE DeepImpact2
CREATE DATABASE DeepImpact2
GO
USE DeepImpact2
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'yourTABLEname' AND TABLE_SCHEMA = 'dbo')
DROP TABLE dbo.tblCountry, dbo.tblCrater;
GO
CREATE TABLE tblCountry
(
CountryID INT IDENTITY(1,1)NOT NULL,
CountryName VARCHAR(MAX) NULL,
CountryCode VARCHAR(5) NULL,
)
CREATE TABLE tblCrater
(
CraterID INT IDENTITY(1,1) NOT NULL,
CraterName VARCHAR(MAX) NULL,
CountryID INT NULL,
Diameter DECIMAL(8,3)NULL,
Age DECIMAL(8,3) NULL,
CountryName VARCHAR(MAX) NULL,
Latitude DECIMAL(9,6) NULL,
Longitude DECIMAL(9,6) NULL,
CraterRegion VARCHAR(MAX) NULL
)
GO
--ALTER TABLE tblCountry ADD PRIMARY KEY (CountryID)
--ALTER TABLE tblCrater ADD PRIMARY KEY (CraterID)
--GO
--ALTER TABLE tblCrater
--ADD FOREIGN KEY (CountryID)
--REFERENCES tblCountry (CountryID)
--GO
INSERT INTO tblCrater (CraterName, CraterRegion, CountryName, Diameter, Latitude, Longitude)
VALUES ('Boxhole', 'Northern Territory', 'Australia', 0.2, -22.6166666666667, 135.2),
('Campo del Cielo', 'Chaco', 'Argentina', 0.1, -27.6333333333333, -61.7),
('Henbury', 'Northern Territory', 'Australia', 0.2, -24.5666666666667, 133.133333333333),
('Kaali', 'Saaremaa', 'Estonia', 0.1, 58.4, 22.6666666666667),
('Macha', 'Sakha Republic', 'Russia', 0.3, 60.1, 117.583333333333),
('Morasko', 'Stare Miasto', 'Poland', 0.1, 52.4833333333333, 16.9),
('Rio Cuarto', 'Cordoba Province', 'Argentina', 4.5, -32.8783333333333, -64.2233333333333),
('Wabar', 'Rub al Khali desert', 'Saudi Arabia', 0.1, 21.5, 50.4666666666667),
('Tenoumer', 'Sahara Desert', 'Mauritania', 1.9, 22.9166666666667, -10.4083333333333),
('Meteor Crater', 'Arizona', 'United States', 1.2, 35.0333333333333, -111.016666666667),
('Xiuyan', 'Xiuyan', 'China', 1.8, NULL, NULL),
('Lonar', 'Maharashtra', 'India', 1.8, 19.9666666666667, 76.5166666666667),
('Agoudal', 'Atlas Mountains', 'Morocco', 3.0, 31.9833333333333, -5.5),
('Tswaing', 'Pretoria Saltpan', 'South Africa', 1.1, -25.4, 28.0816666666667),
('Zhamanshin', 'Kazakhstan', 'Kazakhstan', 14.0, 48.4, 60.9666666666667),
('Bosumtwi', 'Ashanti', 'Ghana', 10.0, 6.505, -1.40833333333333),
('Elgygytgyn','Chukotka Autonomous','Russia',18.0,67.5,172),
('Bigach','Kazakhstan','Kazakhstan',8.0,48.5666666666667,82.0166666666667),
('Karla','Tatarstan','Russia',10.0,54.9166666666667,48.0333333333333),
('Karakul','Pamir Mountains','Tajikistan',52.0,39.0166666666667,73.45),
('Vredefort','Free State','South Africa',300.0,-27,27.5),
('Sudbury','Ontario','Canada',250.0,46.6,-81.1833333333333),
('Chicxulub','Yucatan','Mexico',180.0,21.3333333333333,-89.5),
('Popigai','Siberia','Russia',100.0,71.65,111.183333333333),
('Manicouagan','Quebec','Canada',90,51.3833333333333,-68.7),
('Acraman South','Australia','Australia',90.0,-32.0166666666667,135.45),
('Morokweng','Kalahari Desert','South Africa',70.0,-26.4666666666667,23.5333333333333),
('Kara','Nenetsia','Russia',65,NULL,NULL),
('Beaverhead','Idaho and Montana','United States',60.0,NULL,NULL),
('Tookoonooka','Queensland','Australia',55.0,-27.1166666666667,142.833333333333),
('Charlevoix','Quebec','Canada',54.0,47.5333333333333,-70.3),
('Siljan Ring','Dalarna','Sweden',52.0,61.0333333333333,14.8666666666667),
('Karakul','Pamir Mountains','Tajikistan',52.0,39.0166666666667,73.45),
('Montagnais','Nova Scotia','Canada',45.0,42.8833333333333,-64.2166666666667),
('Araguainha','Central Brazil','Brazil',40.0,-16.7833333333333,-52.9833333333333),
('Chesapeake Bay','Virginia','United States',40.0,37.2833333333333,-76.0166666666667),
('Mjilnir','Barents Sea','Norway',40.0, 3.8,29.6666666666667),
('Puchezh-Katunki','Nizhny Novgorod Oblast','Russia',40.0,56.9666666666667,43.7166666666667),
('Saint Martin','Manitoba','Canada',40.0,51.7833333333333,-98.5333333333333),
('Woodleigh','Western Australia','Australia',40.0,-26.05,114.666666666667),
('Carswell','Saskatchewan','Canada',39.0,58.45,-109.5),
('Clearwater','West Quebec','Canada',36.0,56.2166666666667,-74.5),
('Manson','Iowa','United States',35.0,42.5833333333333,-94.55),
('Slate Islands','Ontario','Canada',30.0,486666666666667,-87),
('Yarrabubba','Western','Australia',30.0,-27.1666666666667,118.833333333333),
('Keurusselk','Western Finland','Finland',30.0,62.1333333333333,24.6),
('Shoemaker','Western Australia','Australia',30.0,-25.8666666666667,120.883333333333),
('Mistastin','Newfoundland','Canada',28.0,55.8833333333333,-63.3),
('Clearwater','East Quebec','Canada',26.0,56.0666666666667,-74.1),
('Kamensk','Southern Federal Dist','Russia',25.0,NULL,NULL),
('Steen River','Alberta','Canada',25.0,59.5,-117.633333333333),
('Strangways','Northern Territory','Australia',25.0,-15.2,133.583333333333),
('Tunnunik','Northwest Territories','Canada',25.0,72.4666666666667,-113.966666666667),
('Boltysh','Kirovohrad Oblast','Ukraine',24.0,48.9,32.25),
('Nordlinger','Ries Bavaria','Germany',24.0,48.8833333333333,10.5666666666667),
('Presquole','Quebec','Canada',24.0,49.7166666666667,-74.8),
('Haughton','Nunavut','Canada',23.0,75.3833333333333,-89.6666666666667),
('Lappajorvi','Western Finland','Finland',23.0,63.2,23.7),
('Rochechouart','France','France',23.0,45.825,0.783333333333333),
('Gosses Bluff','Northern Territory','Australia',22.0,-23.8166666666667,132.308333333333),
('Amelia Creek','Northern Territory','Australia',20.0,-20.9166666666667,134.833333333333),
('Logancha','Siberia','Russia',20.0,65.5166666666667,95.9333333333333),
('Obolon','Poltava Oblast','Ukraine',20.0,49.5833333333333,32.9166666666667)
SELECT *
FROM tblCrater
答案 0 :(得分:2)
您需要更改比例和精度:
CREATE TABLE tblCrater
(
CraterID INT IDENTITY(1,1) NOT NULL,
CraterName VARCHAR(MAX) NULL,
CountryID INT NULL,
Diameter DECIMAL(8,3)NULL,
Age DECIMAL(8,3) NULL,
CountryName VARCHAR(MAX) NULL,
Lattitude DECIMAL(38,18) NULL, -- here
Longitude DECIMAL(38,18) NULL, -- here
CraterRegion VARCHAR(MAX) NULL
);
<强> DBFiddle Demo 强>
注意:您应该以分号结束每个语句。