Есть сиквел к mssql
| Код | SELECT q1.NUM_GR AS num_gr, q1.NAME_GR AS name_gr FROM ( SELECT TOP 10 q.NUM_GR, q.NAME_GR FROM ( SELECT TOP 20 telescop.dbo.GROUP_NAMES.NUM_GR, telescop.dbo.GROUP_NAMES.NAME_GR FROM telescop.dbo.GROUP_NAMES ORDER BY telescop.dbo.GROUP_NAMES.NUM_GR ) q ORDER BY q.NUM_GR DESC ) q1 ORDER BY q1.NUM_GR
|
работает хорошо:
| Код | my $sth = $dbh -> prepare( "SELECT q1.NUM_GR AS num_gr, q1.NAME_GR AS name_gr FROM ( SELECT TOP 10 q.NUM_GR, q.NAME_GR FROM ( SELECT TOP 20 telescop.dbo.GROUP_NAMES.NUM_GR, telescop.dbo.GROUP_NAMES.NAME_GR FROM telescop.dbo.GROUP_NAMES ORDER BY telescop.dbo.GROUP_NAMES.NUM_GR ) q ORDER BY q.NUM_GR DESC ) q1 ORDER BY q1.NUM_GR" );
$sth -> execute();
|
работает плохо:
| Код | my $sth = $dbh -> prepare( "SELECT q1.NUM_GR AS num_gr, q1.NAME_GR AS name_gr FROM ( SELECT TOP ? q.NUM_GR, q.NAME_GR FROM ( SELECT TOP 20 telescop.dbo.GROUP_NAMES.NUM_GR, telescop.dbo.GROUP_NAMES.NAME_GR FROM telescop.dbo.GROUP_NAMES ORDER BY telescop.dbo.GROUP_NAMES.NUM_GR ) q ORDER BY q.NUM_GR DESC ) q1 ORDER BY q1.NUM_GR" );
$sth -> execute(10);
|
пишет
| Код | DBD::Sybase::st execute failed: Server message number=170 severity=15 state=1 line=6 server=TELESCOP-PRCE1 text=Line 6: Incorrect syntax near '10'. Server message number=156 severity=15 state=1 line=15 server=TELESCOP-PRCE1 text=Incorrect syntax near the keyword 'ORDER'
|
c mssql работаю в первый раз. |