有人能解释一下这个DROP TABLE命令吗?我错过了什么


USE AP; 
IF OBJECT_ID('spCopyInvoices') IS NOT NULL
DROP PROC spCopyInvoices;
GO
CREATE PROC spCopyInvoices 
AS
IF OBJECT_ID('InvoiceCopy') IS NOT NULL 
DROP TABLE InvoiceCopy;
SELECT * 
INTO InvoiceCopy 
FROM Invoices;

文本说它复制了一个表,但我读到的是,如果对象(spCopyInvoices或InvoiceCopy(有数据(不是null(,那么就删除它。那么这是怎么回事呢?我错过了什么?

"我错过了什么"——该代码跟随DROP TABLE InvoiceCopy

...
SELECT * 
INTO InvoiceCopy 
FROM Invoices;
...

创建用表Invoice的内容填充的表CCD_。也就是说,当调用该过程时,它会生成一个名为InvoiceCopyInvoice副本。这就是";文本";你指的很可能想说。它描述了在代码片段中创建的过程的作用。

";对象";当它"被丢弃"时;具有数据";也不是正确退出。当存在时,它会被丢弃。在这两种情况下。(但有人可能会说,一个程序无论如何都不可能有数据。(

DROP TABLE删除该表。假设,在我编写的SQL中,

CREATE TABLE "Hello, World" IF NOT EXISTS; /*It makes a table if it is not there in the database. */
DROP TABLE "Hello, World"; /*It just deletes the stuff (or tables) that we just created..*/

最新更新