Pozdrav svima,
problem je sledeci :nakon izvrsavanja funkcije IpAdresaDrzava dobijem poruku o gresci:Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Kako otkloniti gresku?
Funkcija je :
CREATE FUNCTION [dbo].[IpAdresaDrzava](@IpAdresa AS varchar(50))
RETURNS varchar(50)
AS
BEGIN
DECLARE @Ipdrzava as varchar(50)
SET @Ipdrzava =(SELECT geoip2.drzava FROM dbo.geoip2 WHERE pocadresa<=@IpAdresa and krajadresa>=@IpAdresa)
RETURN (@Ipdrzava)
END
computed kolona:
ALTER TABLE ipnumber
ADD [IpDrzava] AS [dbo].[IpAdresaDrzava([ipadresa])]
PRVA TABELA JE:
create table ipnumber
(
ipadresa varchar (50),
drzava varchar (50),
)
INSERT INTO ipnumber values ( 785044919,'??')
INSERT INTO ipnumber values (1838277475,'??')
INSERT INTO ipnumber values (459937403,'??')
INSERT INTO ipnumber values (1841745892,'??')
DRUGA TABELA JE:
create table geoip2
(
pocadresa varchar (50),
krajadresa varchar (50),
drzava varchar (50),
)
INSERT INTO geoip values (16777216 ,16777471 ,'AU')
INSERT INTO geoip values (16777472 ,16778239 ,'CN')
INSERT INTO geoip values ( 16778240 ,16779263 ,'AU')
INSERT INTO geoip values (16779264 ,16781311 ,'CN')
problem je sledeci :nakon izvrsavanja funkcije IpAdresaDrzava dobijem poruku o gresci:Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Kako otkloniti gresku?
Funkcija je :
CREATE FUNCTION [dbo].[IpAdresaDrzava](@IpAdresa AS varchar(50))
RETURNS varchar(50)
AS
BEGIN
DECLARE @Ipdrzava as varchar(50)
SET @Ipdrzava =(SELECT geoip2.drzava FROM dbo.geoip2 WHERE pocadresa<=@IpAdresa and krajadresa>=@IpAdresa)
RETURN (@Ipdrzava)
END
computed kolona:
ALTER TABLE ipnumber
ADD [IpDrzava] AS [dbo].[IpAdresaDrzava([ipadresa])]
PRVA TABELA JE:
create table ipnumber
(
ipadresa varchar (50),
drzava varchar (50),
)
INSERT INTO ipnumber values ( 785044919,'??')
INSERT INTO ipnumber values (1838277475,'??')
INSERT INTO ipnumber values (459937403,'??')
INSERT INTO ipnumber values (1841745892,'??')
DRUGA TABELA JE:
create table geoip2
(
pocadresa varchar (50),
krajadresa varchar (50),
drzava varchar (50),
)
INSERT INTO geoip values (16777216 ,16777471 ,'AU')
INSERT INTO geoip values (16777472 ,16778239 ,'CN')
INSERT INTO geoip values ( 16778240 ,16779263 ,'AU')
INSERT INTO geoip values (16779264 ,16781311 ,'CN')