In SQL syntax, is 'from' in 'delete from' optional if you plan to use 'where'?

前端 未结 3 1509
被撕碎了的回忆
被撕碎了的回忆 2021-01-17 08:34

I am new to SQL. We have some code that should work on SQL Server 2005/2008, Oracle 10 as well as Sybase.

I was writing a script to try to figure out which tables a

3条回答
  •  感情败类
    2021-01-17 09:25

    Short Answer: Luceros answer is correct: it is optional

    I have to maintain sql and adapt it between sql-server and Oracle. Here are some rules:

    1. Write Scripts manually, don't use generated code.
    2. Always use INSERT INTO.
    3. Always DELETE -- without FROM.
    4. Do not use " - quoted identifier.
    5. Remove all [ ] and dbo. (Schema names)
    6. Attention when you see DELETE ... FROM ...
    7. Attention when you see UPDATE ... FROM ...
    8. ORACLE Select statements need a from clause you can use from DUAL

      1. OK you can script your objects and edit them in a standard way
        • USE [Current_DB] -- you don't want a reference to your test database go into production script
        • SET ANSI_NULLS ON -- decide once which settings to use -- don't switch on and off
        • SET QUOTED_IDENTIFIER ON -- quoted identifiers are case-sensitive.
      2. INSERT INTO is required by Oracle.
      3. That is my personal style don't use optional keyword, learn the defaults
      4. You have to quote an identifier, if you use one of ORACLES reserved keywords as column name, we entered that pitfall and in the long run it would have been better to rename the column on the sql-Server side.
      5. Oracle doesn't use these.
      6. Oracle doesn't support this syntax.
      7. Oracle doesn't support this syntax.

提交回复
热议问题