我正在为SQL专家认证做准备,我发现了一个问题,它说,这是正确的选择。A table and a synonym can have the same name in the same schema说,在四个选项中,有一个选择。
据我所知,在甲骨文中,我们创建的任何东西都被视为对象,这意味着当我们说create synonym时,这意味着我们正在创建新的对象。并在Oracle或任何数据库AFAIK中不允许在相同架构中创建相同的对象。
连都说
您可以有一个公共和私有同义词的同名。实际上,在SCOTT模式中可以有一个公共的和私有的同义词,也可以在同一个模式中有一个名为EMP的表。
所以我试过
在PHP中,有没有可能一个对象将自己转换为他的子类之一。
示例
class Children1 extends Parent {
// the children
}
class Parent {
public function loadChildConfiguration($type){
select($type){
case 1: self::MAGICALLY_TRANSFORM_INTO(Children1); break;
case 2: self::MAGICALLY_TRANSFORM_INTO(Ch
GOF谈到了“工厂方法”模式的框架。框架需要对象,但是对象的实现取决于应用程序,因此创建了一个创建对象的抽象方法。此外,由于需要返回类型,因此定义了所需对象的接口,因此定义了对象所需的apis。实际对象由子类(具体应用程序)创建。这是一种创造模式。
对于模板模式,唯一的改变是封装类不知道某些行为的实现,因此它将其抽象到一个方法中,使用它,但将实现留给子类。这是行为模式。
是两者之间唯一的不同之处
1. Factory method is creational and Template is behavioural.
2. Factory method abstracts a method to
我想用sql文件在postgresql中创建一个架构。在创建数据库之后,我在USE db_name中使用MySQL。如下所示:
DROP SCHEMA IF EXISTS db_name;
CREATE SCHEMA db_name;
USE db_name;
在此之后,我创建了表,表是在我现在使用的数据库中创建的。我怎么能在postgresql中做这样的事情呢?
我的代码:
con = pyodbc.connect("DRIVER={SQL Server};SERVER=WIN-RCNSTVE00SV\SQLEXPRESS;UID=sa;PWD=password;database=master",autocommit=True)
cursor = con.cursor()
cursor.execute("create database test_db")
cursor.execute("create table test_db.tb(id INT NOT NULL IDENTITY(1,1) PRIMARY K