代码之家  ›  专栏  ›  技术社区  ›  opHASnoNAME

更智能的SQL/PHP代码格式?

  •  3
  • opHASnoNAME  · 技术社区  · 16 年前

    我有一个大型的SQL语句,有没有“更聪明”的方式来格式化这些东西??

    
    $serverFields = 'SERVER_ID, SERVERNAME, SERVERLOCATION_ID, SERVERLOCATIONDETAIL_ID,
                                 SERVEROS_ID, SERVEROSVERSION_ID, IP_BACKEND, IP_FRONTEND, IP_BACKUP,
                                 SERVERREMOTETOOL_IDS, LOGIN, DESCRIPTION, TIME_INSERT, TIME_UPDATE,
                                 CHANGE_USER, MANDATOR_ID, TIVOLI_UPDATABLE, TIVOLI_LAST_SCAN,
                                 TIVOLI_LAST_UPDATE, WINDOMAIN_ID, PROCESSORCOUNT, OS_ID, PHYSICAL_MEMORY_KB';
    
    

    $osFields = 'OSLANG_ID, OSARCH_ID, OSSUBVERSION_ID, OSMINORVERSION_ID, OSMAJORVERSION_ID, OSTYPE_ID';

    $processorFields = 'PROCESSORMODEL_ID, PROCESSORMANUFACTURER_ID';

    $sql = sprintf( "SELECT %s , %s , %s FROM %s s LEFT OUTER JOIN ( (OS JOIN OSSUBVERSION USING (OSSUBVERSION_ID)) JOIN OSMINORVERSION USING (OSMINORVERSION_ID) JOIN OSMAJORVERSION USING (OSMAJORVERSION_ID) )USING (OS_ID) LEFT OUTER JOIN ( PROCESSORMODEL JOIN PROCESSORMANUFACTURER USING(PROCESSORMANUFACTURER_ID) )USING (PROCESSORMODEL_ID) WHERE %s = :id AND MANDATOR_ID = :mandatorId", $serverFields, $osFields, $processorFields, $this->_tableName, $this->_identifier);

    4 回复  |  直到 14 年前
        1
  •  3
  •   chaos    16 年前

    好吧,我写和缩进都有点不同,但是否更聪明取决于你:

    $sql = sprintf("
        SELECT %s, %s, %s
        FROM %s
        LEFT OUTER JOIN OS USING (OS_ID)
        JOIN OSSUBVERSION USING (OSSUBVERSION_ID)
        JOIN OSMINORVERSION USING (OSMINORVERSION_ID)
        JOIN OSMAJORVERSION USING (OSMAJORVERSION_ID)
        LEFT OUTER JOIN PROCESSORMODEL USING (PROCESSORMODEL_ID)
        JOIN PROCESSORMANUFACTURER USING (PROCESSORMANUFACTURER_ID)
        WHERE %s = :id
        AND MANDATOR_ID = :mandatorId
    ", $serverFields, $osFields, $processorFields, $this->_tableName, $this->_identifier);
    
        2
  •  4
  •   Galwegian    16 年前

    我有时用 SQLInform 格式化大型SQL脚本,但这可能不是您所追求的。

        3
  •  0
  •   Community CDub    8 年前
        4
  •  0
  •   Jesse Webb    14 年前

    我找到了这个免费的用于格式化SQL的在线工具:

    http://www.dpriver.com/pp/sqlformat.htm

    推荐文章