Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
BUG or am I missing something very obvious?
Message
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01184707
Message ID:
01184861
Views:
16
I think it's a bug. The DELETE command should delete the same records that returned by query. BTW, UPDATE command works correctly
CREATE CURSOR crsTest (cCode char(4), cText C(20))

INSERT INTO crsTest VALUES('0001', "L 1")
INSERT INTO crsTest VALUES('0001', "L 1")
INSERT INTO crsTest VALUES('0001', "L 1")
INSERT INTO crsTest VALUES('0001', "L 1")
INSERT INTO crsTest VALUES('0002', "L 2")
INSERT INTO crsTest VALUES('0002', "L 2")
INSERT INTO crsTest VALUES('0002', "L 2")
INSERT INTO crsTest VALUES('0002', "L 2")

CREATE CURSOR crsTest1 (cCode char(4))
INSERT INTO crsTest1 VALUES('0001')

UPDATE crsTest ;
		SET cText = TRIM(cText) + " Updated" ;
	FROM crsTest ;
	LEFT JOIN crsTest1 ;
		ON crsTest.cCode = crsTest1.cCode ;
	WHERE crsTest1.cCode IS NULL

>
>CREATE CURSOR crsTest (cCode char(4))
>
>INSERT INTO crsTest VALUES('0001')
>INSERT INTO crsTest VALUES('0001')
>INSERT INTO crsTest VALUES('0001')
>INSERT INTO crsTest VALUES('0001')
>INSERT INTO crsTest VALUES('0002')
>INSERT INTO crsTest VALUES('0002')
>INSERT INTO crsTest VALUES('0002')
>INSERT INTO crsTest VALUES('0002')
>
>CREATE CURSOR crsTest1 (cCode char(4))
>INSERT INTO crsTest1 VALUES('0001')
>
>DELETE crsTest;
> FROM crsTest;
>LEFT JOIN crsTest1;
>     ON crsTest.cCode = crsTest1.cCode;
>     WHERE crsTest1.cCode IS NULL
>SELECT crsTest
>BROWSE NORMAL
>
>**** TA - DA whole crsTest cursor apears here
>**** no marked records at all.
>
>
<snip>>
>But crsTest is not a second table in the JOIN. the select:
>
>
>SELECT *;
> FROM crsTest;
>LEFT JOIN crsTest1;
>     ON crsTest.cCode = crsTest1.cCode;
>     WHERE crsTest1.cCode IS NULL
>
>
>works as expected.
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform